SOLID理解

单一职责原则和接口隔离的区分

一卡双号和商城的登录、修改密码、登出功能都在统一的用户模块接口里声明,用户模块实现类实现接口的所有方法,符合单一职责原则,但是对商城用户和一卡双号用户各自而言,都不符合接口隔离原则,对一卡双号用户而言,不需要商城相关的功能。如果把用户模块接口拆分成商城用户模块接口和一卡双号用户模块接口,实现类同时实现两个接口,就符合接口隔离原则。

里氏替换原则是开闭原则的一种解决方案

里氏替换原则指的是子类替换父类,不影响业务逻辑,即子类不能重写父类的方法,可以在包含父类所有方法的基础上,增加新的方法。完全符合开闭原则的思想,对扩展开放,对修改关闭。 

依赖倒置原则是实现开闭原则的重要途径

依赖倒置的思想其实就是指,高层的模块类中的方法,不能直接用低层模块类作为参数,而是用低层模块类的接口或者抽象类作为参数。以接口或抽象类作为参数声明不允许修改,子类做为实际参数可以替换或扩展,完全符合开闭原则思想。同时高层模块的该方法也是在接口或者抽象类中声明。实际就是利用JAVA的多态性降低代码的耦合,提高代码的内聚。例子如图:



我们先要写出低耦合高内聚的代码,在java中需要遵循如下原则:

1. 模块间的依赖通过抽象类或接口发生,实现类之间的依赖关系也是通过抽象类或接口产生(实现类之间不应发生直接的依赖关系),降低系统的耦合性

2. 接口或抽象不依赖于实现类,但实现类依赖接口或抽象类,实现类对系统需要的功能具体实现,提高类的内聚程度

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言 关于设计模式六大设计原则的资料网上很多,但感觉很多地方解释地都太过于笼统化,特此再总结一波。 优化第一步-单...
    ghroost阅读 4,847评论 0 5
  • 单一职责原则 (SRP) 全称 SRP , Single Responsibility Principle 单一职...
    米莉_L阅读 5,744评论 2 5
  • 目录: 设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒...
    加油小杜阅读 4,042评论 0 1
  • 他漫无目的地沿着护城走着,低着头踢着脚边的石头,脑子里空荡荡的。接下来他应该怎么办呢,酱马上就见底了,周围再没有可...
    JuneDD阅读 2,166评论 0 0
  • 《那个撒谎的人》NO 1 序幕......《那个撒谎的人》 NO.19 盘山路 《那个撒谎的人》NO.21 迷雾 ...
    笑小天阅读 5,389评论 0 2

友情链接更多精彩内容