二十三种设计模式
创建型模式(5种):
工厂方法模式
抽象工厂模式
单例模式
建造者模式
原型模式
结构型模式(7种):
适配器模式
装饰器模式
代理模式
外观模式
桥接模式
组合模式
享元模式
行为型模式(11种):
策略模式
模板方法模式
观察者模式
迭代子模式
责任链模式
命令模式
备忘录模式
状态模式
访问者模式
中介者模式
解释器模式
六大基本原则
1 开闭原则
Java世界里最基础的设计原则
一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。
2 里氏替换原则
Liskov Substitution Principle LSP原则
所有引用基类的地方必须能透明地使用其子类的对象,通俗的来讲就是父类能出现的地方子类就可以出现,但是反过来就不行了。子类可以扩展父类的功能,但不能改变父类原有的功能
3 依赖倒置原则
Dependence Inversion Principle DIP原则
1)高层模块不应该依赖低层模块
2)抽象不应该依赖细节
3)细节依赖抽象
应当做到:
1)每个类尽量都有接口或者抽象类
2)变量的表面类型尽量是接口或者抽象类
3)不从具体类派生类
4)尽量不覆写基类的方法,只实现;
4 接口隔离原则
Interface Segregation Principle ISP原则
把一个臃肿的接口变更为两个独立的接口所依赖的原则就是接口隔离原则.
5 迪米特法则
Law of Demter LoD
也称为最少知识原则:Least Knowledge Principle LKP
一个对象应该对其他对象有最少的了解,一个类只需要知道自己需要耦合或者调用类的public方法即可.
6 单一职责原则
Single Responsibility Principle SRP原则
分清职责,接口一定要做到单一职责,方法也要做到,类尽量做到