我正在写一个程序,其中每个组件都有一个继承结构,有三个级别……ui、逻辑和数据...其中这些级别中的每一个都具有所有组件必须实现的已定义功能的接口。这些级别中的每个级别还具有一些功能,这些功能可以为整个接口通用地编写,而不是为每个组件重复编写。
在我看来,最好的方法是在接口和组件实现之间创建一个抽象类,它完成所有的通用功能(就像在链接的class diagram here中一样)……但是C#的继承规则只允许我从未实现的接口进行多重继承。什么是实现这类行为的最佳实践设计?
发布于 2010-02-23 04:37:50
为什么不将每个组件(UI、逻辑和数据)放在不同的类中,然后让UI使用逻辑类,然后让逻辑类使用数据类。
这样,您就可以让每个类继承相应的泛型类。
发布于 2010-02-23 05:13:35
每个(抽象类和接口)都有自己的优点和缺点。虽然Russell建议组合而不是继承是正确的,但使用模式建议对接口进行编程,而不是实现(Head First Design Pattern)。
抽象类提供了大量的灵活性,您可以在幕后实现所谓的方法,强制实现等。如果需要关注的话,这两个接口都提供了多态性。但是抽象类需要一个基本的继承槽。
https://stackoverflow.com/questions/2313925
复制相似问题