前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >设计模式——设计原则

设计模式——设计原则

作者头像
小森啦啦啦
发布2019-07-14 06:22:06
5790
发布2019-07-14 06:22:06
举报
文章被收录于专栏:IT笔记分享IT笔记分享

设计原则

程序开发不仅要知道设计模式还要知道设计的原则,尽最大能力按照原则设计开发,对于代码review或者修改后期项目以及项目交接都会很方便。

一、单一职责原则

有且仅有一个原因引起类的变更。

优点:

  • 类的复杂性降低,实现什么职责都有明确的定义;
  • 可读性提高;
  • 可维护性提高;
  • 变更引起的风险降低。

二、里氏替换原则

所有引用基类的地方必须能透明使用其子类的对象。只要父类能出现的地方,子类就可以出现,而且替换子类也不会产生错误。

继承的优点:

  • 代码共享,每个子类都有父类的方法和属性;
  • 提高代码重用性;
  • 提高代码扩展性;
  • 提高产品或项目开放性。

继承的缺点:

  • 具有侵入性,子类有父类的所有属性和方法;
  • 降低代码灵活性;
  • 增强耦合性,父类中常量、变量和方法被修改时,需要考虑子类的修改。

三、依赖倒置原则

高层模块不应该依赖底层模块,两者都应该依赖其抽象,抽象不应该依赖细节,细节应该依赖抽象。

模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系通过接口或抽象类产生的。接口或抽象类不依赖于实现类,实现类依赖接口或抽象类。

四、接口隔离原则

客户端不应依赖它不需要的接口,对接口进行细化;类建的依赖关系应该建立在最小的接口上。建立单一接口,不要建立臃肿庞大的接口。而且要满足单一职责原则。

五、迪米特法则

也称最少知识原则:一个对象应该对其他对象有最少的了解。一个类应该对自己需要耦合或调用的类知道的最少。

只和直接的朋友通信:每个对象都必然与其他对象有耦合关系,两个对象间的耦合就成为朋友关系。

迪米特法则的核心观念就是类间的解耦,弱耦合。其实就是面向对象编程。

六、开闭原则

一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。一个软件实体应该通过扩展来实现变化,而不是通过修改已有的代码来实现变化。开闭原则可以提高复用性,提高维护性。

抽象约束:通过接口或者抽象类可以约束一组可能变化的行为,并且能够实现对扩展开放。

1.通过接口或者抽象类约束扩展,对扩展进行边界限定,不允许出现在接口或者抽象类中不存在的public方法。

2.参数类型、引用对象尽量使用接口或者抽象类,而不是实现类。

3.抽象层尽量保持稳定,一旦确定即不允许修改。

六大设计原则主要是Java面向对象编程设计的原则,降低项目耦合,分清职责。方便开发和继续维护。


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT笔记分享 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 设计原则
    • 一、单一职责原则
      • 二、里氏替换原则
        • 三、依赖倒置原则
          • 四、接口隔离原则
            • 五、迪米特法则
              • 六、开闭原则
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档