设计模式
1.设计思想:
1.1单一职责思想设计原则:
- 每个类实现一种功能,引起改变的原因也只有一个。
1.2开闭原则
- 对类改动通过增加代码,而不是修改代码(对类的改动通过增加代码进行,而不是修改代码)多借助抽象和多态。
1.3里氏替换原则
- 任何父类出现的地方都应该可以用其子类替换。(同一个继承体系拥有共同的特征)
1.4依赖注入原则
- 要依赖于抽象类,不要依赖于具体实现类
1.5接口分离原则
- 一个接口提供一种功能(如将对某个类的增删改查分离为四个接口,每个接口实现一个功能)
1.6迪米特原则
- 一个类应尽可能少的了解其他类(降低各个类之间的耦合)
2.设计模式
2.1设计模式的几个要素:
- 名字 必须有一个简单,有意义的名字
- 问题 描述在何时使用模式
- 解决方案 描述设计的组成部分以及如何解决问题
- 效果 描述模式的效果以及优缺点
2.2设计模式的分类
- 创建型模式 对象的创建
-
简单工厂模式
例子:
//父类:Animal (eat方法) //子类:Cat Dog (都覆盖eat方法) 传统创建: Cat cat =new Cat(); cat.eat(); Dog dog=new Dog(); dog.eat(); //简单工厂模式:创建一个动物工厂(class : AnimalFactory) public static Animal createAnimal (String type){ if("dog".equals(type)){ return new Dog(); }else if("cat".equals(type)){ return new Cat(); }else{ return null; } } //利用工厂创建: Animal a=AnimalFactory.createAnimal("dog");//通过字符串方式传递给工厂进行创建,便于代码维护。 a.eat();
-
工厂方法模式
例子://在简单工厂模式上改进了,简单工厂模式每次增加一个动物都需要该原有的代码。 //父类:Animal (eat方法) //子类:Cat Dog (都覆盖eat方法) //父工厂:Factory接口(abstract createAnimal()); //子工厂:DogFactory,CatFactory(实现Factory接口,覆盖createAnimal()方法) //测试: Factory f=new DagFactory(); Animal a=f.createAnimal(); a.eat();
-
抽象工厂模式
-
建造者模式
-
原型模式
-
单例模式。
-
- 结构型模式 对象的组成(结构)
- 外观模式
- 适配器模式
- 代理模式
- 装饰模式
- 桥接模式
- 组合模式
- 享元模式
- 行为型模式 对象的行为
- 模版方法模式
- 观察者模式
- 状态模式
- 职责链模式
- 命令模式
- 访问者模式
- 策略模式
- 备忘录模式
- 迭代器模式
- 解释器模式