一.Java设计模式学习准备:面向对象设计原则。
软件设计的核心是提高软件的可复用性和可维护性。
面向对象设计原则主要有如下几条:
1、“开闭”原则(Open-Closed Principle)简称OCP,讲的是一个软件实体应该对扩展开放对修改关闭。
2、里氏代换原则(Liskov Substitution Principle)简称LSP,讲的是任何父类出现的地方都可以被子类代替。
3、依赖倒转原则(Dependency INversion Principle)简称DIP,讲的是要依赖于抽象不要依赖于具体。
4、接口隔离原则(Interface Segregation Principle)简称ISP,讲的是为客户端提供尽可能小的单独的接口,而不是提供大的总接口。
5、合成/聚合复用原则(Composition/Aggregation Principle)简称CARP,讲的是要尽可能使用组合,聚合来达到复用目的而不是利用继承。
6、迪米特法则(Law of Demeter)简称LoD,讲的是一个软件实体应当与尽可能少的其他软件实体发生相互作用。
二.设计模式的分类:
1.创建模式
2.结构模式
3.行为模式
1.创建模式:创建模式是对类的实例化过程的抽象化。创建模式分为类的创建模式和对象的创建模式两种。
创建模式主要包括:简单工厂模式,工厂方法模式,抽象工厂模式,单例模式,多例模式,建造模式,原始模式。
2.结构模式:结构模式描述如何将类或对象结合在一起形成更大的结构,结构模式也包括类的结构模式和对象的结构模式。
结构模式主要包括:适配器模式,缺省适配器模式,合成模式,装饰模式,代理模式,享元模式,门面模式,桥模式。
3.行为模式:行为模式是对在不同的对象之间划分责任和算法的抽象化。行为模式不仅仅是关于类和对象的,而且是关于它们之间相互作用的。
行为模式主要包括:不变模式,策略模式,模板方法模式,观察者模式,迭代子模式,责任链模式,命令模式,备忘录模式,状态模式,访问者模式,解释器模式,调停者模式。