[英]Design pattern for translating data
我正在处理一个 C# 项目,我需要管理数据的本地缓存并将其显示在 GUI 上。
例如我有:
public class DataFromOtherLibrary
现在我想开设一个课程来帮助翻译我需要的信息
public class MyDataModel
{
private DataFromOtherLibrary cache;
public MyDataModel ( DataFromOtherLibrary Source)
{
cache = Source;
}
public long Field1 { get { return cache.SomeField; } }
public long Field2 { get { return cache.OtherFiled; } }
}
现在我有这个问题是我需要创建一个MyDataModel
为每DataFromOtherLibrary
这将是很好有一个单一的翻译类。 我不知道如何去做并且仍然实现属性(我需要数据绑定到)。
谢谢马特
您应该使用一个包含所有数据模型的提供者,例如:
public class MyDataModelProvider
{
public List<MyDataModel> DataModelList { get; set; }
MyDataModelProvider()
{
loadDataModelList();
}
private void LoadDataModel()
{
foreach (Cachobject c in Cache)
{
this.DataModelList.Add(new MyDataModel(c.valueA,c.valueB));
}
}
}
对于这个提供者,你还需要一个工厂,比如:
[Singleton(true)]
public class DataModelListProviderFactory
{
private static DataModelListProvider dataListProvider;
public DataModelListProvider getInstance()
{
if (dataListProvider == null)
{
dataListProvider = new DataModelListProvider();
return dataListProvider;
}
else
return dataListProvider;
}
}
因为现在您拥有一个包含所有数据模型的 Spot,并且您只需接收一次它们。 如果您有案例或在视图中显示所有数据,您还可以轻松搜索特定模型的列表。
你可以在这里阅读更多关于工厂模式的信息。
希望有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.