在个人应用程序中,我目前正在处理全局应用程序设置,它应该影响某些对象的行为方式,就架构而言,我认为它会创建一个不必要的依赖项来直接引用它们,例如:
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需要一个无参数的构造函数,那么最好的方法是什么才能在反序列化之后__11469_的所有实例都会引用我的全局设置?
(我有一个使用复合模式的分层文件夹/文件类数据结构)
1 回答
澄清:
您的对象类型为
Feed
. 您想序列化它,但不能使用非默认构造函数 . 相反,您可以为要发送的所有数据创建FeedModel
,其参数较少,构造函数和公共属性 . 然后,您可以使用AutoMapper将数据从Feed
实例快速传输到FeedModel
实例并序列化模型类 .