设计模式-六大设计原则

单一职责原则

  • 含义:单一职责的目的就是为了保证内聚性,只有一个引起变化的原因,说明类内成员之间的关系较高,内聚性不强的就不要写到一个类中。

  • 优点:

    1. 类的复杂性降低,实现什么职责都有清晰明确的定义
    2. 可读性提高,复杂性降低
    3. 可维护性提高
    4. 变更引起的风险降低,变更是必不可少的,如果接口的单一职责做得好,一个接口修改只对相应的实现类有影响,对其他的接口无影响,这对系统的扩展性、维护性都有非常大的帮助

里氏替换原则

  • 含义:所有引用基类的地方必须能透明地使用其子类的对象
    • 子类必须完全实现父类的方法
    • 子类可以有自己的扩展
    • 覆盖或实现父类的方法时,输入参数可以被放大
    • 覆写或实现父类的方法时输出结果可以被缩小
  • 优点:
    1. 增强程序的健壮性,版本升级时也可以保持非常好的兼容 性。
    2. 即使增加子类,原有的子类还可以继续运行
    3. 在实际项目中,每个子类对应不同的业务含义,使用父类作为参数,传递不同的子类完成不同的业务逻辑

依赖倒置原则

  • 含义:针对接口编程,依赖于抽象而不依赖于具体。
  • 优点:
    1. 减少类间的耦合性
    2. 提高系统的稳定性
    3. 降低并行开发的风险
    4. 提高代码的可读性和可维护性

接口隔离原则

  • 含义:使用多个隔离的接口,比使用单个接口要好。接口尽量细化,同时接口中的方法尽量少。
  • 优点:
    1. 降低耦合度

迪米特法则

  • 含义:一个实体应当尽量少地与其他实体之间发生相互作用,使得系统功能模块相对独立。

  • 优点:

    1. 类间解耦,弱耦合,类发生修改后,影响的其他类少
  • 缺点:

    1. 产生了大量的中转或跳转类,导致系统的复杂性提高,同时也为维护带来了难度
posted @   Cedrus  阅读(44)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示