SOLID原则

Single Responsibility Principle(单一职责原则)

A class or module shoule have a single responsibility(一个类或者模块应该只有一个职责)
不要设计大而全的类,要设计粒度小、功能单一的类
在不同的应用场景、不同阶段的需求背景下,对同一个类的职责是否单一的判断,可能都是不一样的
建议是,我们可以先写一个粗粒度的类,满足业务需求即可。随着业务的发展,如果粗粒度的类越来越大,代码越来越多,这个时候,我们就可以将这个粗粒度的类,拆分为几个更细粒度的类。这就是所谓的持续重构。

Open Closed Principle(开闭原则)

software entities (modules,classes,functions,etc.) should be open for extension,but closed for modification(软件实体(模块、类、方法等)应该“对扩展开放,对修改关闭”)

Liskov Subsitution Principle(里式替换原则)

子类对象(object of subtype/derived class)能够替换程序(program)中父类对象(object of base/parent class)出现的任何地方,并且保证原来程序的逻辑行为(behavior)不变及正确性不被破坏

违反里式替换原则的例子

  1. 子类违背父类声明要实现的功能
  2. 子类违背父类对输入、输出、异常的约定
  3. 子类违背父类注释中所罗列的任何特殊说明

Interface Segregation Principle(接口隔离原则)

Clients should not be forced to depend upon intefaces that they do not use(客户端不应该被强迫依赖它不需要的接口),其中的客户端,可以理解为接口的调用者或者使用者

Dependency Inversion Principle(依赖反转原则)

High-level modules shouldn’t depend on low-level modules.Both modules should depend on abstractions.In addition,abstractions shouldn’t depend on details.Details depend on abstractions.(高层模块不要依赖低层模块。高层模块和低层模块应该通过抽象来互相依赖。除此之外,抽象不要依赖具体实现细节,具体实现细节依赖抽象)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值