我有设计问题,
基本上,我有一个名为Currency
public class Currency
{
public int ID;
public string Name;
public int RoundingValue;
public Currency() { }
public void GetData() { // Some SQL query code // }
}
有时需要获取系统中的所有货币,以决定汇率,支付的兼容性等。
我看到两种方法(获取数据):
1)在Currency
类中创建静态方法。这涉及在其中创建SQL连接实例(不确定这是否正确),创建List<Currency>
实例来存储集合,然后将其传递到类外。
2)通过扩展Collections.BaseCollection
类,创建它的实例,执行相同的SQL查询,然后返回结果来创建类的集合。但是该类不会提供额外的功能,也可能永远不会(Currency
本身也是如此。
在其他情况下,我使用扩展集合,因为他们需要根据集合的内容存储其他信息。
但在这种情况下,不会创建其他信息或提供功能。
那么,哪种设计更实用? 如果有这些解决方案的替代方案,我会非常乐意听到它。
答案 0 :(得分:0)
我建议只填充List<Currency>
然后将其作为IList<Currency>
返回。这样,如果您将来更改它以使用自定义集合,您将不会破坏任何消费者。