【发布时间】:2011-08-01 18:59:28
【问题描述】:
在我目前工作的个人应用程序中,我有全局应用程序设置,这应该会影响某些对象的行为方式,就架构而言,我认为它会创建一个不必要的依赖关系来直接引用它们,例如
public void Update()
{
if (App.Settings.AutoCacheImages) CacheImages();
...
]
所以我更喜欢创建这样的界面:
public interface IFeedSettings
{
bool AutoCacheImages { get; set; }
...
}
并确保我的对象在构造过程中获得引用:
private IFeedSettings _settings;
public Feed(IFeedSettings settings)
{
_settings = settings;
}
现在的问题是 Xml-Serialization 需要一个无参数的构造函数,那么解决这个问题的最佳方法是什么,以便在反序列化后 Feed 的所有实例都引用我的全局设置?
(我有一个使用复合模式的分层文件夹/类似文件的数据结构)
【问题讨论】:
-
您是否考虑过为序列化制作特定模型,然后使用 AutoMapper 之类的东西从您的实体映射到您的模型?
-
@Tejs:如果你能详细说明一下,我将不胜感激,因为我不知道你在说什么。
-
Xml序列化的主题是什么对象?设置还是 Feed?
-
@qes:提要。 (设置也被序列化,但它们没有任何依赖关系,它只是一个实例,因此如果有的话,恢复它们不会很麻烦)
-
反序列化该接口可能会遇到一些麻烦:stackoverflow.com/questions/1333864/…
标签: c# architecture xml-serialization dependencies