设计模式
一、什么是设计模式?
每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样你就能一次又一次地使用该方案而不必做重复劳动。”
每一个设计模式系统地命名、解释和评价了面向对象系统中一个重要的和重复出现的设计。
GoF(Gang of Four)
设计模式四个基本要素:模式名称、问题、解决方案、效果
二、设计模式七大原则
1、开放封闭原则:一个软件实体如类,模块和函数应该对扩展是开放的,对修改是关闭的。即软件实体应尽量在不修改原有代码的情况下进行扩展(装饰器) 2、里氏替换原则:重写父类里面的方法,逻辑可能不一样,但是返回的结果参数啥的要一样(所有引用基类的地方必须能透明的使用其子类的对象) 3、依赖倒置原则:高层模块不应该依赖低层模块,二者都应该依赖其抽象,要针对接口编程,而不是针对实现编程。(接口类) 4、接口隔离原则:使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要实现的接口 5、迪米特法则:一个软件实体应当尽可能少的与其他实体发生相互作用 6、单一职责原则:一个类只负责一项职责(不要存在多于一个导致类变更的原因,即一个类只负责一项职责) 7、合同复用原则:多用组合少用继承 一个类重用另一个类的代码有两种方式:继承、组合
三、设计模式分类
创建型模式:
依赖于继承的创建型模式:工厂方法模式
依赖于组合的创建型模式:抽象工厂模式,创建者模式
行为型模式:
结构性模式: