【面向对象】(4)6个设计原则

单一责任原则(The Single Responsibility Principle,SRP)

  • 一个类/方法只负责一件事情
  • 如果一个类承担的职责过多,那么可能一个职责的修改会引起其他职责的修改

开放封闭原则(The Open Closed Principle,OCP)

  • 对扩展开放,对修改关闭
  • 即当有新需求时,不修改已封装好的代码,因为修改后,又要重新测试,带来不必要的问题。

里氏替换原则(The Liskov Substitution Principle,LSP)

  • 子类可以扩展父类的功能,但不能改变父类原有的功能。
  • 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法;
  • 尽量把父类设计为抽象类或者接口

接口隔离原则(The Interface Segregation Principle,ISP)

  • 类不应该实现它不需要的接口。
  • 类不应该实现接口中不需要的方法。
  • 即接口范围过大时,应当拆分接口方法,但拆分需要有限制,不然类太多,难以管理。

依赖倒置原则(The Dependency Inversion Principle,DIP)

  • 高层模块(稳定)不应该依赖低层模块(变化),二者都依赖抽象(稳定)。
  • 抽象(稳定)不应该依赖于实现细节(变化),实现细节应该依赖于抽象(稳定)。
  • 即需要依赖时,我们最好去依赖一个稳定的对象,如接口、抽象类,这样当接口的实现发生变化时,我们也不需要更改自己的代码,除非接口本身发生变化。

迪米特法则

  • 从被依赖者的角度来说:只暴露应该暴露的方法或者属性,即在编写相关的类的时候确定方法/属性的权限。
  • 从依赖者的角度来说,只依赖应该依赖的对象
  • 即需要保证良好的封装,公开需要公开的方法,非必要方法设为私有。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值