图解设计模式
UML
- 依赖:对类 B 进行修改会影响到类 A 。
- 关联:对象 A 知道对象 B。类 A 依赖于类 B。
- 聚合:对象 A 知道对象 B 且由 B 构成。类 A 依赖于类 B。
- 组合:对象 A 知道对象 B、由 B 构成而且管理着 B 的生命周期。类 A 依赖于类 B。
- 实现:类 A 定义的方法由接口 B 声明。对象 A 可被视为对象B。类 A 依赖于类 B。
- 继承: 类 A 继承类 B 的接口和实现, 但是可以对其进行扩展。对象 A 可被视为对象 B。类 A 依赖于类 B。
SOLID原则
单一职责原则(Single Responsibility Principle):尽量让每个类只负责软件中的一个功能,并将该功能完全封装在该类中。
开闭原则(Open/closed Principle):在实现新功能时能保持已有代码不变。
里氏替换原则(Liskov Substitution Principle):子类必须保持与父类行为的兼容。在重写一个方法时,你要对基类行为进行扩展,而不是将其完全替换。
接口隔离原则(Interface Segregation Principle):尽量缩小接口的范围,使得客户端的类不必实现其不需要的行为。
依赖倒置原则(Dependency Inversion Principle):高层次的类不应该依赖于低层次的类。 两者都应该依赖于抽象接口。抽象接口不应依赖于具体实现。具体实现应该依赖于抽象接口。
设计模式分类
类型 | 种类 |
---|---|
创建型模式 | 单例模式,简单工厂模式,抽象工厂模式,工厂方法模式,原型模式,建造者模式 |
结构型模式 | 适配器模式,桥接模式,组合模式,装饰模式,外观模式,享元模式,代理模式 |
行为型模式 | 职责链模式,命令模式,解释器模式,迭代器模式,中介者模式,备忘录模式,观察者模式,状态模式,策略模式,模板方法模式,访问者模式 |
常见设计模式
单例模式
工厂方法模式
抽象工厂模式
观察者模式
代理模式
装饰模式
MVC模式
参考资料
《图解设计模式》
《重学java设计模式》
《深入设计模式》
《设计模式:可复用面向对象软件的基础》