0

我正在开发的应用程序的规范之一是它必须与项目文件一起工作。 我的问题是如何满足这个要求,因为我正在努力使用Prism和Unity使应用程序尽可能地松散,所以我不能决定我要用哪个实现来实现项目文件的创建和管理(项目文件加载,保存等)。C# - 创建和管理应用程序特定的项目文件

该应用程序将成为搜索引擎优化帮手,并将主要处理文本信息,如Uri和字符串它将从互联网上获取。

我想用一些可能实现的:

一个 - 框架System.Configuration命名空间。这是我的第一选择,因为我可以轻松地将新的ConfigurationSection插入配置对象。缺点是它没有留下任何机会(或者至少我不知道如何)使用接口进行抽象。

b - 为每个项目创建一个数据库并将其保存在一个文件中。有了这个实现,我可以使用nHibernate之类的数据库框架或任何其他(可以建议使用)来处理对象到数据库的映射。

c - 添加您自己的这里。

我的问题是,你认为什么是更好的方法来处理每个模块的不同配置/设置,我插入它,并坚持大的URL列表,约10k〜100k的URL列表长其他设置?

在此先感谢!

回答

1

最简单的方法是定义你自己的类型(类),比如ProjectSettings {...},并简单地用首选的序列化器(例如XML)对它进行序列化/反序列化。

然后,你根本不需要任何花哨的ORM或配置。 不要在你不需要它的地方引入复杂性;)

+0

当你说“不要在不需要它的地方引入复杂性”时,我真的很喜欢它,但是它归结为(un)序列化设置对象的方便性。有时序列化框架类是不可能的,这就是Uri,字典,列表和许多其他类型所发生的情况。 System.Configuration.Configuration类可以很容易地序列化那些不可序列化的类,但是它会再次将代码周边具体类绑定在一起。不管怎么说,多谢拉! – 2012-07-22 08:09:08

+0

甚至在试图找出如何实现不同的解决方案之前,我决定去设置类的序列化。在这种特殊情况下,我决定使用BinaryFormatter,而不是XmlSerializer类,它也适用于接口以及所有那些很难处理非序列化类的类,比如字典等等。最后,我很感激那些聪明的话,那些我从现在起要提醒自己的时候,当我面对这样的疑问时。谢谢! – 2012-07-23 04:54:43

0

配置文件是一个很好的解决方案,当你有几十个配置变量( 但在这里,最好有数据库。为什么?因为如果你想在10-100k uri做一些修改,这将是困难的并且错误会很容易 对于数据库(一个表用于项目,另一个表用于字符串连接,另一个用于uri ..),将很容易查询它,更新它,并对其进行修改。 您必须在数据库中使用数据在这种情况下,由于实体之间的关系(一个项目有很多字符串连接,许多uri ...)对于文件来说很大。对于ORM,Entity Framework 4.0是因为它是POCO(在映射的实体类上没有元数据) Best关于

+0

我已经忘记了实体框架,我会看看它!在决定使用哪种实现之前,我仍然会等待其他一些建议。谢谢! – 2012-07-22 08:11:05

+0

高兴地帮助你Denis – 2012-07-28 17:08:21

相关问题