前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >遵循面向对象设计原则,设计出高内聚低耦合可扩展模块

遵循面向对象设计原则,设计出高内聚低耦合可扩展模块

作者头像
wuweixiang
发布2018-08-14 11:56:25
4230
发布2018-08-14 11:56:25
举报
文章被收录于专栏:吴伟祥吴伟祥吴伟祥

软件设计模式、目标、原则

逻辑学定义 例如“国家”这一概念的内涵包括:他是阶级社会中所特有的政治实体,是阶级矛盾不可调和的产物,是统治阶级统治、压迫被统治阶级的工具,是由军队、警察、监狱、法庭、立法机构和行政机构组成的暴力统治机器,等等。外延是指一个概念所概括的思维对象的数量或范围。例如,“国家”的外延就是指古今中外的一切国家。由此得出,一个概念的内涵越大越丰富,则其对应的外延就越小。

步入正题,面向对象的七大设计原则:

1. 开闭原则(Open Close Principle) 面向扩展开放,面向修改关闭。 2. 单一职责原则(Single Responsibility Principle) 每一个类应该专注于做一件事情。 3. 依赖倒置原则(Dependence Inversion Principle) 实现尽量依赖抽象,不依赖具体实现。   接口是一个描述能力的地方 4. 接口隔离原则(Interface Segregation Principle) 应当为客户端提供尽可能小的单独的接口,而不是提供大的总的接口。      功能能拆就拆 5. 组合/聚合复用原则(Composite/Aggregate Reuse Principle CARP) 尽量使用合成/聚合达到复用,尽量少用继承。原则: 一个类中有另一个类的对象。 6. 迪米特法则(Law Of Demeter) 又叫最少知识原则,一个软件实体应当尽可能少的与其他实体发生相互作用。      联想:Facade模式,为子系统中的一组接口提供一个一致的界面 7. 里氏替换原则(Liskov Substitution Principle) 超类存在的地方,子类是可以替换的。

总结

所谓易,“变易”,“简易”,“不易”,就是要告诉我们如何从变化中 抽出 不变的 —— 选择一个正确的抽象视角。七大基本原则介绍完毕,很空洞,需要联系代码仔细体会琢磨。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017/11/17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档