首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >继承设计模式

继承设计模式
EN

Stack Overflow用户
提问于 2010-02-23 04:27:50
回答 2查看 2K关注 0票数 4

我正在写一个程序,其中每个组件都有一个继承结构,有三个级别……ui、逻辑和数据...其中这些级别中的每一个都具有所有组件必须实现的已定义功能的接口。这些级别中的每个级别还具有一些功能,这些功能可以为整个接口通用地编写,而不是为每个组件重复编写。

在我看来,最好的方法是在接口和组件实现之间创建一个抽象类,它完成所有的通用功能(就像在链接的class diagram here中一样)……但是C#的继承规则只允许我从未实现的接口进行多重继承。什么是实现这类行为的最佳实践设计?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-02-23 04:37:50

为什么不将每个组件(UI、逻辑和数据)放在不同的类中,然后让UI使用逻辑类,然后让逻辑类使用数据类。

这样,您就可以让每个类继承相应的泛型类。

记住,你应该prefer composition over inheritance

票数 4
EN

Stack Overflow用户

发布于 2010-02-23 05:13:35

每个(抽象类和接口)都有自己的优点和缺点。虽然Russell建议组合而不是继承是正确的,但使用模式建议对接口进行编程,而不是实现(Head First Design Pattern)。

抽象类提供了大量的灵活性,您可以在幕后实现所谓的方法,强制实现等。如果需要关注的话,这两个接口都提供了多态性。但是抽象类需要一个基本的继承槽。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2313925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档