设计模式的七大原则

单一职责

  1. 降低类的复杂度,一个类只负责一项职责
  2. 提高类的可读性,可维护性
  3. 降低变更引起的风险

接口隔离原则

  1. 使用接口隔离原则前首先需要满足单一原则
  2. 接口需要高内聚,提高接口、类、模块的处理能力,少对外发布public方法
  3. 定制服务,单独为一个个提供优良的服务,拆分接口,对特定的接口进行定制,不输出不涉及的方法
  4. 接口设计是优先度的,接口的设计力度越小,系统越灵活,但不能过小,不能字节码编程

依赖倒置原则

程序要依赖于抽象接口,不依赖于具体实现,对抽象进行编程,不对具体实现进行编程,降低客户与实现模块间的耦合:

  1. 高层模块不依赖底层模块,二者都依赖其抽象
  2. 抽象不依赖细节(实现),细节依赖抽象
  3. 依赖倒置的中心思想是面向接口编程
  4. 相对于细节的多样性,抽象的东西要稳定的多,在java中,抽象指的是接口和抽象类,细节就是具体的实现类,java的核心是面向对象编程,比如一个人,其年龄的属性,每个人都不一样。
  5. 使用接口或抽象类的目的是定制好规范,不涉及任何具体的操作,具体的操作交给实现类去实现

依赖倒置原则的注意事项

  1. 低层模块尽量都要有抽象类或接口,或者两者都有,这样程序稳定性更好
  2. 变量的生命类型尽量是抽象类或接口,这样引用和实际对象间存在一个缓冲区
  3. 继承时遵循里氏替换原则

里氏替换原则

所有引用基类的地方必须能透明使用其子类的对象,子类可以扩展父类的功能,但不能改变父类原有的功能,面向对象继承性的思考和说明:

  1. 继承:父类中已经实现好的方法,实际上是在设定规范和契约,她不强制要求所有子类都必须遵守这种契约,但是子类对这些已经实现的方法的任意修改,都是对这个继承体系造成破坏
  2. 如果一个类被其他的类所继承,则此类需要修改时,必须考虑所有的子类,因为父类修改后,涉及的子类的功能可能产生故障

如何正确使用继承

遵循里氏替换原则:在子类中尽量不要重写父类的方法

开闭原则

一个软件实体如类,应该对扩展开放,对修改关闭,模块应尽量在不修改源代码的情况下进行扩展:

用抽象构建框架,用实现扩展细节,当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是修改原有的代码来实现变化
编程中遵循其他原则,以及使用设计模式的目的就是遵循开闭原则

迪米特法则

一个实体应尽量避免和另一个实体发现相互作用,每个类尽量减少其他类的哟来,使得系统的功能模块独立,相互之间不存在依赖关系。如果两个类真的需要建立联系,应能通过中间类或跳转类来转达。

合成复用原则

尽量使用合成|聚合的方法,而不是使用继承
对象可能被多个代表整体的对象所共享,而且不一定会随着某个代表整体的对象销毁而被销毁,例如班级删除,学生还存在,还能被学校引用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值