设计模式六大原则

前言

为了让我们的代码有更佳的健壮性和可扩展性,我们在开发的时候应该遵循设计模式的六大原则,下面向大家介绍一下所谓的六大原则到底是什么。

1、里氏置换原则(LSP)

只要父类出现的地方子类就能够出现,而且替换为子类不会产生任何错误或异常。这个原则是为良好的继承定义一个规范:

  1. 子类必须完全实现父类的方法
  2. 子类有自己的特性
  3. 覆盖或者实现父类的方法时输入参数可以被放大或缩小

2、依赖倒置原则(DIP)

要依赖于抽象,不要依赖于实现。说白了就是要依赖于抽象类和接口不要依赖具体类,具体类也就是我们可以用new关键字实例化的类。依赖倒转原则是实现开闭原则的一个手段。其实说白了就是我们通常所说的面向接口编程。依赖倒置有三种实现方式:

  1. 通过构造函数传递依赖对象
  2. 通过setter方法传递依赖对象
  3. 接口声明实现依赖对象

3、接口隔离原则(ISP)

该原则要求的是在一个模块应该只依赖它需要的接口,保证接口的纯净,同时保证接口尽量细小化。

  1. 客户端不应该强行依赖它不需要的接口
  2. 类间的以依赖关系应建立在最小的接口上

接口分为2种:

  1. 对象接口(object interfa)
  2. 类接口(class interface)

4、单一职责原则(SRP)

接口一定要采用单一职责原则,实现类的设计上尽可能做到单一职责原则,最好是一个原因引起一个类的变化。简单的说,就是一个类负责一个职责。


5、迪米特法则(LOD)

迪米特法则的核心观念就是类间解耦,弱耦合,只有弱耦合了以后,类的复用性才可以提高。形象一点的比喻类似于:监狱内的犯人是不应该跟外面的人接触的,当然或许会有探亲的。这里的监狱就是类,里面的犯人就是类内部的信息,而监狱里的狱警就相当于迪米特法则的执行者。
定义:一个类的对象应该对其他对象了解最少

还有如下一些关于应用迪米特法则的注意事项:

  1. 在类的划分上,应该创建有弱耦合的类;
  2. 在类的结构设计上,每一个类都应当尽量降低成员的访问权限;
  3. 在类的设计上,只要有可能,一个类应当设计成不变类;
  4. 在对其他类的引用上,一个对象对其它对象的引用应当降到最低;
  5. 尽量降低类的访问权限;
  6. 谨慎使用序列化功能;
  7. 不要暴露类成员,而应该提供相应的访问器(属性)。

6、开闭原则(OCP)

开闭原则算是前5中原则的一个抽象总结,前五种是开闭原则的一些具体实现,所以如果使用开闭原则,其实有点虚,因为它没有一个固定的模式,但是最终保证的是提高程序的复用性、可维护性等要求。
核心:对扩展开放,对修改关闭。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值