Effective
Java 最佳实践与设计模式
目录
设计模式
设计模式是解决软件设计中常见问题的可复用解决方案。本项目包含 23 种经典设计模式的实现和文档。
创建型模式 (5种)
结构型模式 (7种)
- 代理模式 - 为其他对象提供代理以控制访问
- 适配器模式 - 将类的接口转换成客户希望的接口
- 桥接模式 - 分离抽象部分与实现部分
- 装饰器模式 - 动态地给对象添加额外职责
- 外观模式 - 为子系统提供统一的接口
- 享元模式 - 运用共享技术支持大量细粒度对象
- 组合模式 - 将对象组合成树形结构
行为型模式 (11种)
- 观察者模式 - 定义对象间的一对多依赖关系
- 策略模式 - 定义一系列算法并使其可相互替换
- 模板方法模式 - 定义算法骨架,延迟到子类实现
- 状态模式 - 允许对象在状态改变时改变行为
- 命令模式 - 将请求封装为对象
- 迭代器模式 - 顺序访问聚合对象的元素
- 中介者模式 - 封装对象间的交互
- 备忘录模式 - 捕获并保存对象的内部状态
- 访问者模式 - 作用于对象结构中各元素的操作
- 责任链模式 - 使多个对象有机会处理请求
- 解释器模式 - 定义语言的文法表示
设计原则
SOLID 原则
- 单一职责原则 (SRP) - 一个类应该只有一个引起它变化的原因
- 开闭原则 (OCP) - 对扩展开放,对修改关闭
- 里氏替换原则 (LSP) - 子类必须能够替换其父类
- 接口隔离原则 (ISP) - 客户端不应该依赖它不需要的接口
- 依赖倒置原则 (DIP) - 高层模块不应该依赖低层模块,两者都应该依赖抽象
其他重要原则
- DRY - Don't Repeat Yourself(不要重复自己)
- KISS - Keep It Simple, Stupid(保持简单)
- YAGNI - You Aren't Gonna Need It(你不会需要它)