use*_*348 7 .net c# interface application-design
我需要一个我的DTO类的基类,它将用于我的通用接口.
但DTO课程没有任何共同之处.它们只是包含一些属性的哑类.
public void GetGridData()
{
IDataForGrid<DTOBase> aa;
if(request == 1) aa = new CustomerGridData;
if(request == 2) aa = new OrderGridData;
var coll = aa.GetList();
}
public class CustomerGridData : IDataForGrid<CustomerDTO>
{
...
}
Run Code Online (Sandbox Code Playgroud)
如果它们没有任何共同之处,那么您要对从列表中检索的实例进行什么操作?
在任何情况下,拥有基类意味着什么时候(好吧,如果)你确定他们确实需要在以后共同拥有的东西,你不必返回并重构(重新基础)一切.但是在任何情况下我都会考虑使用接口而不是基类来处理这类事情,因为它听起来并不需要重用底层实现(因为它们没有任何共同之处!).这取决于你认为他们最后可能会有什么共同点.
这不是一个糟糕的设计,虽然有点不常见.可以这样想想 - 虽然没有任何缺点,但至少有两个好处:
| 归档时间: |
|
| 查看次数: |
4574 次 |
| 最近记录: |