前言
模式的经典定义:每个模式都描述了一个在我们的生产环境中不断出现的问题,并描述了该问题的解决方案的核心内容。
一般而言模式分为编码模式,架构模式,设计模式等三大类
在这里我主要学习设计模式(包括六大设计原则)
设计模式是一套被人反复使用,多数人知晓的,经过分类编目的,代码设计经验的总结。使用设计模式是为了开发可重用,可扩展,可维护性的高质量代码,并使代码更容易被人理解。from 百科
设计模式并不是谁创造,是经过历史的演练,人们通过经验总结出来的,是被人发现的。
六大设计原则
1.开闭原则
一个软件实体应当对扩展开放,对修改关闭,抽象化是关键
2.接口隔离原则
应当为客户端提供尽可能小的接口,而不是提供大的接口
3.依赖倒转原则
也叫针对接口编程,要依赖于抽象,不要依赖于实现
4.里氏代换原则
任何基类出现的地方,那么子类一定可以出现
5.合成/聚合原则
要尽量使用合成/聚合,而不是继承的关系达到复用的目的
6.迪米特原则
一个软件实体应当与尽可能少的其他实体发生作用
23类经典模式:
创建型模式:工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式
结构模式:适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式
行为模式:策略模式,模版方法模式,观察者模式,迭代子模式,责任链模式,命令模式,备忘录模式,访问者模式,状态模式,中介者模式,解释器模式
参考文献:java与模式,大话设计模式