什么是java中的设计模式,设计模式有多少种,OOP七大原则
什么是设计模式?
- 设计模式是前辈对代码开发经验的总结,是解决特定问题的一系列套路.它不是语法规定,而是一套用来提高代码可复用性,可维护性,可读性,稳健性以及安全性的解决方案
- 1995年GOF(Gang of Four 四人组/四人帮) 合作出版了<设计模式:可复用面向对象软件的基础>一书,共收录了23中设计模式,从此树立了软件设计模式领域的里程碑,人称GoF设计模式
学习设计模式的意义
- 设计模式的本质是面向对象设计原则的实际运用,是对类的封装性,继承性,多态性,以及类的关联关系和组合的充分理解
- 正确使用设计模式具有以下优点
- 可以提高程序员的思维能力,编程能力和设计能力
- 使程序设计更加标准化,代码编制更加工程化,使软件开发效率大大提高,从而缩短软件的开发周期
- 使设计的代码可重用性高,可读性强,可靠性高,灵活性好,可维护性强
设计模式的基本要素
- 模式名称
- 问题
- 解决方案
- 效果
GoF23
- 一种思维,一种态度,一种进步
创建型模式
单利模式,工厂模式,抽象工厂模式,建造者模式,原型模式
结构型模式
适配器模式,桥接模式,装饰模式,组合模式,外观模式,享元模式,代理模式
行为型模式
模版模式,命令模式,迭代器模式,观察者模式,中介模式,备忘录模式,解释器模式,状态模式,策略模式,职责链模式,访问者模式
OOP七大原则
- 开闭原则: 对扩展开放,对修改关闭
- 里氏替换原则: 继承确保超类所拥有的的性质在子类中仍然成立
- 依赖倒置原则: 面向接口编程,不要面向实现编程
- 单一职责原则: 控制类的粒度大小,将对象解耦,提高内聚性
- 接口隔离原则: 要为各个类建立它们需要的专用接口
- 迪米特法则: 只与你的直接朋友交谈,不跟陌生人说话
- 合成复用原则: 尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现.
继承是"is a"的关系."has a"是一个组合关系