文章目录
面向对象
面向对象四大特性
- 封装、抽象、继承、多态
面向对象分析、设计与编程
- OOA 输入是模糊的需求,输出是流程化的明确的需求
- OOP 输入是流程化的需求,输出是具体的类和类关系
基于接口而非实现编程
多用组合少用继承
贫血模型 VS 充血模型
- 传统的MVC模型适用于项目较小,逻辑不复杂的情况。DDD与传统RSC不同的是:Service内不再负责所有的业务逻辑,能细分出去的业务划分到domain中。domian中包含方法和属性,Service中只保留层级/模块间的关系即可。
设计原则
SOLID原则
KISS、YAGNI原则
DRY原则
LOD 迪米特法则
编码规范
重构技巧
在程序中加入单元测试
- 可测试性是程序好坏的一个重要指标
编写可测试的代码
- 多使用依赖注入而不是new。一些必要的环境使用mock。