设计模式-7大原则

设计模式主要为了降低代码的耦合性,提高内聚性、可重用性、可拓展性和灵活性。

设计模式7大原则:
1)单一职责原则
2)接口隔离原则
3)依赖倒置原则
4)里氏替换原则
5)开放封闭原则
6)迪米特法则
7)合成复用原则

单一职责原则:
规定每个类的职责单一,不能太复杂

接口隔离原则:
一个类不应该依赖他不需要的接口,一个类通过接口对另一个类的依赖应该建立在最小接口上。
所谓最小接口就是将用不到的方法拆成多个接口,不要集中在一个接口中。

依赖倒置原则:
高层(基础模块)不应该依赖于底层,二者都应该依赖于抽象。
变量的声明尽量是抽象类或者接口,这样我们引用的变量和实际类之间就存在一个缓冲层,便于优化和拓展。

依赖倒置的核心思想是面向对象编程。
依赖倒置原则的设计理念:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建的架构比以细节为基础搭建的架构要稳定的多。在java中,抽象指的是接口和抽象类,细节指的是具体实现。

里氏替换原则:
子类可以替换父类出现的所有地方。

这个原则要求我们尽量不要override父类的方法,这样才能做到子类替换父类所有出现的地方。
里氏替换原则是在告诉我们继承需要注意和遵守的规则:即尽量不要复写父类的方法,这样会增加系统的耦合性,增大了代码维护和拓展的难度。可以改成面向接口编程,或者使用聚合,组合来代替继承。

开放封闭原则(OCP):
开闭原则是编程中,最基础最重要的原则。
一个软件实体(类),对拓展时开放的,对修改时关闭的,用抽象构建框架,用实现拓展细节。
当软件需要变化时,尽量通过新增实体(类,或者方法)来实现,而不是修改现有实体来实现。
编程中的其他原则,设计模式,最终目的都是为了遵守开闭原则。

迪米特法则:
又叫最少直到原则,一个类对它依赖的类知道的越少越好。这要求被依赖类将某些逻辑封装好后,提供一个public方法即可。不要对外泄露任何信息。

直接朋友:被依赖的类以成员变量,方法入参或者方法返回值的形式出现在依赖类中,就是直接朋友。
非直接朋友:以局部变量的方式出现。迪米特法则要求被依赖的类尽量不要以局部变量的形式出现。

合成复用原则:
尽量使用聚合。组合的方式代替继承。
类之间的关系:依赖,泛化(继承),实现、关联、组合、聚合
依赖:很泛化的一个概念,所有的关系都是依赖关系的一种
泛化:就是继承
实现:实现接口
关联:也是很返回的一个概念,

聚合:整体与部分可以分开,就是聚合的关系。比如一个电脑由鼠标,显示器、键盘等组成,但是可以分开。鼠标,键盘都是电脑的成员变量,可以不初始化。
组合:整体与部分不可以分开,就是组合。比如人由头颅、身体、下肢组成。在头颅、身体、下肢作为人(类)的成员变量,需要直接new 出来。这是组合关系。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值