设计模式的七大原则


在一部分书中,也归纳为六大原则。

问题一:
为什么要有设计模式?

程序员在软件开发的过程中面临代码的复用,要实现高内聚、低耦合的目标。
提高程序的灵活性、可扩展性、维护性等。

问题二:
设计模式是什么?

对软件设计过程中反复出现的各种问题,提出的通用的解决方案。

1.单一职责原则

一个类只有一项职责。(而在类中,若有多个方法。一个方法只有一个职责)
除非这个类非常简单,才可以违反这个原则。

ps:优秀的代码,为了降低代码的耦合性。尽量在一个类中少用if-else。

2.接口隔离原则

客户端不应该依赖它不需要的接口。
一个类对另一个类的依赖应该是最小的。建立在最小的接口上。

3.依赖倒转原则

3.1 高层模块不应该依赖低层模块。
3.2 抽象不应该依赖细节,细节应该依赖抽象
3.3 依赖倒转的中心思想是面向接口编程
在java中,抽象主要是接口和抽象类,细节就是具体的实现类。
接口和抽象为的目的是定好规范,不涉及具体的操作,而将具体的操作交给实现类或者子类去完成。

依赖关系传递的三种方法:
1.基于接口实现
2.基于构造器
3.基于setter方法

4. 里氏替换原则

继承的规范。

简单说,就是在子类中尽量不要重写父类的方法。
适当的情况下,可以通过聚合,组合,依赖来解决。

通常的方法是让父类和子类同时继承一个更加基础的类。

5. 开闭原则(OCP)

降低类之间的耦合。

最重要的原则。前面的都是为了实现这个原则。
Open Closed Principle

对修改关闭(不能让使用方改已经有的代码),
对拓展开放(提供方方便扩展功能)。

6. 迪米特法则(最少知道原则)

一个类对自己所依赖的类,知道的越少越好。尽量将逻辑封装在类的内部。
对外除了提供public方法,不对外提供任何信息。(只与直接的朋友通信)

成员变量,方法参数,方法返回值为类的直接朋友 。
局部变量不是类的直接朋友。
陌生的类,最好不要以局部变量的形式出现在类的内部。

7. 合成复用原则(Composite Reuse Priciple)

尽量使用合成/聚合的方式。而不是继承。

小结:

  • 找出需要变化的代码,把它们独立出来。不要和不需要变化的代码混合在一起。
  • 面对接口编程。
  • 交互对象间尽量松耦合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值