我在重构项目的过程中遇到了这种情况。
有一个模型类,它包含几个子模型:
public class Model
{
public Submodel_A SM { get; set; }
public Submodel_B SM { get; set; }
public Submodel_C SM { get; set; }
}
public class Submodel_A { /* contains only properties */ }
public class Submodel_B { /* contains only properties */ }
public class Submodel_C { /* contains only properties */ }
现在,我需要将Model
移动到单独的程序集中。为此,我希望模型能够实现一个界面,比如IModel
。但是由于子模型,我在这里被卡住了:
interface IModel
{
Submodel_A SM { get; set; }
Submodel_B SM { get; set; }
Submodel_C SM { get; set; }
}
显然,使用Submodel_*
类本身并不是解决方案。我是否真的必须为每个子模型设置一个接口?或者,也许,以某种方式将它们隐藏在界面中会更好吗? (隐藏是一种选择,因为子模型只携带一些数据而几乎没有其他功能)。
答案 0 :(得分:0)
基本上,我最终拥有了所有内容的接口,聚集在一个专用的程序集中。是的,几乎所有其他模块现在都依赖它,但到目前为止它没有带来任何麻烦......