设计模式

2019-02-16  本文已影响0人  yuzhiyi_宇

如果你想成为以为优秀的工程师,不管是从事 Android、前端、后台等方向,设计模式是必须要掌握的。

面向对象的好处

通过封装、继承、多态把程序的耦合度减低,用设计模式使得程序更加灵活,容易修改,并且易于复用。

设计模式六大原则

设计模式的六大原则:单一职责原则、开发封闭原则、里氏替换原则、依赖倒置原则、迪米特原则、接口隔离原则。

单一原则

单一原则:就一个类而言,应该仅有一个引起它变化的原因。通俗讲就是不要让一个类承担过多的职责。

开放封闭原则

开放封闭原则:类、模块、函数等应该是可以拓展的,但是不可修改。开放原则有两个含义:一个是对于拓展是开放,另一个是对于修改是封闭的。设计程序的时候,面对需求的改变要尽可能地保证相对稳定,尽量通过扩展的方式来实现变化,而不是通过修改原有的代码来实现。

里氏替换原则

里氏替换原则:所有引用基类(父类)的地方必须能透明地使用其子类的对象。在软件中将一个基类对象替换成其子类对象,程序将不会产生任何错误和异常,反过来则不成立,如果一个软件实体使用的是一个子类对象的话,那么它不一定能够使用基类对象。里氏替换原则是实现开放封闭原则的重要方式之一。由于使用基类对象的地方都可以使用子类对象,因此在程序中尽量使用基类类型来对对象进行定义,而在运行时再确定其子类类型,用子类对象来替换父类对象。使用里氏替换原则注意点:

依赖倒置原则

依赖倒置原则:高层模块不应该依赖底层模块,两者都应该依赖于抽象。抽象不应该依赖于细节,细节该依赖于抽象。
Java 中,抽象指接口或抽象类,两者都是不能直接被实例化;细节就是实现类,实现接口或者继承抽象类而产生的就是细节,也就是可以加上一个关键字 new 产生的对象。高层模块就是调用端,底层模块就是具体实现类。依赖倒置原则在 Java 中的表现就是,模块间的依赖通过抽象发生,实现类之间不发生直接依赖关系,其依赖关系是通过接口或者抽象类产生的。如果类与类直接依赖细节,那么就会直接耦合。

迪米特原则

迪米特原则:一个软件实体应尽可能少地与其他实体发生互相作用。
也被称为最少知识原则。如果一个系统符合迪米特原则,那么当其中某一个模块发生修改时,就会尽量少地影响其他模块。迪米特原则要求我们在设计系统时,应该尽量减少对象之间的交互。如果两个对象之间不必彼此直接通信,那么这两个对象就不应当发生任何直接的相互作用。如果其中的一个对象需要调用另一个对象的某一个方法,则可以通过第三者转发这个调用。简而言之,就是通过引入一个合理的第三者来降低现有对象之间的耦合度。将迪米特原则运用到系统设计中,要注意以下几点:

接口隔离原则

接口隔离原则:一个类对另一类的依赖应该建立在最小的接口上。
奖励单一接口,不要创建庞大臃肿的接口;尽量细化接口,接口中的方法尽量少。也就是说,要为各个类建立专门的接口,不要视图建立一个很庞大的接口供所有依赖它的类调用。使用接口隔离原则对接口进行约束时,注意点:

设计模式分类

GOF 提出的设计模式总共有 23 种,根据目的准则分类,分为三大类。

上一篇 下一篇

猜你喜欢

热点阅读