设计模式1

73 阅读2分钟

这是我参与更文挑战的第3天,活动详情查看: 更文挑战

什么是设计模式?

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。通过抽象化,实现化,解耦来使代码具有更好的扩展性复用性可维护性。你可能不知道设计模式,但已经使用。

设计模式原则?

开闭原则:简而言之就是对扩展开放,对修改关闭。它强调的是用抽象构建框架,用实现扩展细节,可以提高软件系统的可复用性及可维护性,建立稳定灵活的系统。例如版本更新,对程序扩展时,不能去修改原有的代码,但可以增加新功能。

单一职责原则:指导我们实现类、接口、方法要职责单一,只负责一项职责;避免修改某一方法影响到另一接口故障,这个时候用两个类来实现,进行解耦,需求变动互不影响。设计接口时要精简单一,细化接口,使用多个隔离的接口比使用单个接口更好,而不是庞大的接口,考虑以后业务扩展问题。

依赖倒置原则:依赖是只类依赖关系,倒置是指高层和底层模块都依赖其抽象;我们要面向接口编程,依赖于抽象而不是依赖具体; 通过依赖倒置,可以减少类与类之间耦合性,提高代码的可读性和可维护性,降低修改风险。

里氏替换原则:我们不要破坏继承体系,基类替换成成它的子类程序不会受到影响,反过来则不成立;所以在程序中,尽量使用基类类型来对对象进行定义,在运行时再确定其子类类型,用子类对象替换父类。

迪米特法则:一个对象当尽量少对其他对象保持做最少的了解,使得系统功能相对独立,尽量降低类与类之间耦合度。

合成复用原则:尽量使用对象组 合(has-a)/聚合(contanis-a),而不是继承关系达到软件复用的目的,降低耦合度。

设计模式分类?

1、创建型模式,共5种

工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式

2、结构型模式,共7种

适配器模式、装饰器模式、外观模式、桥接模式、组合模式、享元模式

3、行为型模式,共11种

策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式