设计模式概述
发布日期:2021-05-10 04:59:45 浏览次数:23 分类:精选文章

本文共 1039 字,大约阅读时间需要 3 分钟。

设计模式是一套被反复使用、多数人知晓、经过分类,用来解决某类问题的代码设计经验总结。

使用设计模式的目的是提高代码的复用率,降低开发成本和周期;提高代码的可维护性,可扩展性和可靠性,而且更容易让人理解。

1. 设计模式的分类

设计模式分为三大类共23种:

创建型模式(5种):、、、、

结构型模式(7种):、、、、、、

行为型模式(11种):、、、、、、、、、、

2. 设计模式的设计原则

(1)开闭原则

对扩展开放,对修改关闭;在程序需要扩展时,不去修改原有代码,而是去扩展原有代码,可以通过接口和抽象类实现。

(2)单一原则

一个类只有一个引起它变化的原因,也就是说每个类应该实现单一的职责

(3)里氏替换原则

子类替换父类后,程序行为是一样的,只有当子类替换掉父类后软件的功能不受影响时,父类才能真正地被复用,而子类也可以在父类的基础上添加新的行为;

通俗来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。也就是说:子类继承父类时,除添加新的方法完成新增功能外,尽量不要重写父类的方法。子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法

(4)依赖倒置原则

面向接口编程,依赖于抽象而不依赖于具体,写代码时用到具体类时,不与具体类交互,而与具体类的上层接口交互

(5)接口隔离原则

使用多个专门的功能接口,而不是使用单一的总接口,不要让一个单一接口承担过多的职责,而应该进行接口分离,应该保证每个接口中不存在子类用不到却必须实现的方法。

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

一个类对自己依赖的类知道的越少越好,也就是说无论被依赖的类多么复杂,都应该讲逻辑封装在方法内部,再提供接口方法,这样当被依赖的类变化时,才能最小地影响该类。

最少知道原则的另一个表达方式是:只与直接朋友通信,类之间只要有耦合关系,就叫朋友关系。耦合分为依赖、关联、聚合、组合等,我们称出现为成员变量、方法参数、方法返回值中的类为直接朋友。局部变量、临时变量则不是直接朋友。我们要求陌生的类不要作为局部变量出现在类中。

(7)合成复用原则

尽量使用组合/聚合的方式,而不是使用继承;继承复用破坏了类的封装性。因为继承会将父类的实现细节暴露给子类,父类对子类是透明的。子类与父类的耦合度高。父类的实现的任何改变都会导致子类的实现发生变化,这不利于类的扩展与维护。

合成复用原则是通过将已有的对象纳入新对象中,作为新对象的成员对象来实现的,新对象可以调用已有对象的功能,从而达到复用。

参考:

上一篇:设计模式(一)—— 单例模式
下一篇:Android实现计时与倒计时的几种方法

发表评论

最新留言

不错!
[***.144.177.141]2025年04月16日 15时13分47秒