设计模式之简介01
什么是设计模式
设计模式的本质是面向对象设计原则的实际运用,是对类的封装性,继承性和多态性以及类的的关系和组合关系的充分理解.
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。
使用设计模式的优点
可以提高程序员的思维能力,编程能力和设计能力.
使程序设计更加标准化,代码编制更加工程化,使软件开发效率大大提高,从而缩短软件的开发周期.
使设计的代码可重用性高,可读性强,可靠性高,灵活性好,可维护性强.
什么是 GOF(四人帮,全拼 Gang of Four)?
在 1994 年,由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 四人合著出版了一本名为 Design Patterns - Elements of Reusable Object-Oriented Software(中文译名:设计模式 - 可复用的面向对象软件元素) 的书,该书首次提到了软件开发中设计模式的概念。
四位作者合称 GOF(四人帮,全拼 Gang of Four)。他们所提出的设计模式主要是基于以下的面向对象设计原则。
- 对接口编程而不是对实现编程。
- 优先使用对象组合而不是继承。
GoF23
创建型模式:
单例模式,工厂模式,抽象工厂模式,建造者模式,原型模式
结构型模式:
适配器模式,桥接模式,装饰模式,组合模式,外观模式,享元模式,代理模式
行为型模式:
模板方法模式,命令模式,迭代器模式,观察者模式,中介者模式,备忘录模式,解释器模式,状态模式,策略模式,职责链模式,访问者模式
OOP七大原则
开闭原则: 对拓展开发,对修改关闭
里氏替换原则: 继承必须确保超累所拥有的性质在子类中任然成立
依赖倒置原则: 要面向接口编程,不要面向实现编程
单一职责原则: 控制类的粒度大小,将对象解耦,提高其内聚性
迪米特法则: 只跟你的直接朋友交谈,不跟"陌生人"说话
合成复用原则: 尽量先使用组合或者聚合等关联关系来实现,其次cai考虑使用继承关系来实现