【发布时间】:2011-01-19 19:30:25
【问题描述】:
我正在编写一个程序,其中每个组件都有一个继承结构,具有三个层次...... ui、逻辑和数据......其中每个层次都有一个所有组件必须实现的已定义功能的接口。这些级别中的每一个还具有一些可以为整个界面通用编写的功能,而不是为每个组件重复编写。
在我看来,最好的方法是接口和组件实现之间的抽象类,它执行所有通用功能(如链接的class diagram here)......但C#的继承规则只让我具有未实现接口的多重继承。实现此类行为的最佳实践设计是什么?
【问题讨论】:
-
所以所有组件都必须是一个单独的类来实现你的 UI、逻辑、和数据接口?这似乎根本不是一个好的设计。
-
@Anon - 我不认为这就是我的意思......每个组件都有不同的继承级别,其中实现了特定的相关接口(参见链接图片)。我是这种分离的新手,所以我可能做错了。
-
您的 UI 不应继承自您的业务逻辑(反之亦然)。
-
图片的链接对我不起作用。不管怎样,@Anon 是正确的,你的 UI 不应该从你的数据或逻辑中继承任何东西。
标签: c# design-patterns multiple-inheritance