1.模块化
将系统分解成独立的功能模块,降低系统的复杂度并提高可维护性
模块之间的接口应该是清晰定义,便于开发和测试
2.抽象和封装
抽象是忽略细节。关注事务的关键特征
封装是隐藏对象的具体实现细节,仅暴露必要的接口供外部调用
3.不要重复造轮子
避免冗余,确保信息在代码中的唯一性,减少错误和维护成本
4.设计简单
设计应该尽可能简单,避免不必要的复杂性
5.不要过度设计
还未出现的功能,不需要过早优化或添加不需要的功能
SOLID原则:
单一职责(一个类应该只有一个改变的原因)
开放封闭(软件实体对扩展开放,对修改关闭)
里si替换(子类必须能够替换基类)
接口隔离(使用多个专门的接口,而不是一个通用的大接口)
依赖倒置(依赖于抽象,不依赖于具体实现)