我有一个设计问题。当写一个应用程序,其中有共享某些属性,而在其他无论是在GUI(窗口形式)和后端的方面不同的若干组件,一个将如何理论上接近此?

例如,我有一个应用程序,其中我有4种不同类型的产品的。的形式进入产品的细节都有着3个不同的领域。到目前为止,容易 - 有一个基类,然后推导出4种形式,走出了这个基类的。然而,说,2个产品共享某些行为,这是相同的两个人。当然,我可以定义方法的接口,然后让这些产品2项形式实现了这个接口,但是因为接口不提供默认实现,不会是这样做浪费?由于我将必须提供在每个类的实现,并且如果它是完全一样的,这将是码重复。

我当然可以把这种方法在基类和具有从它派生2种形式。如果我的形式分享超过一个常见的元素,不能共享等元素,什么是代表这个不必撕裂我的头发了sanest,最合理的方式?

没有正确的解决方案

其他提示

为什么没有2不相关的类直接从基类派生,然后创建一个新的类与共同的功能,并从基类派生并剩下的两个类从该新的类继承?

BaseClass
CommonClass : BaseClass
ClassA : BaseClass
ClassB : BaseClass
ClassC : CommonClass
ClassD : CommonClass

获得共同的行为分为两类一种方式是两个班的包含的这种行为作为成员,而不是的继承的这种行为:对形式,这可能意味着限定一个“用户控制”(即共同控制的可重复使用集合)。

很难说没有任何特定的布局。通常,复用的其他,往往更灵活的形式是做组合物,而不是继承。事实上,控制层次显示组合物可究竟有多强去。也许你可以在你的UI的部分分离出来,成为了基于特定的产品布局,你组装后

自定义控件
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top