五大设计原则

单一职责:让一个类只负责一个任务,类中的方法只做一件事

开闭原则:对类的内部修改是关闭的,而对外的扩展是开放的。

里氏替换原则:

1)子类可以覆盖父类的抽象方法,但不能覆盖非抽象方法。

2)如果需要覆盖父类的非抽象方法,参数的类型必须要比父类的宽松,返回值类型必须要比父类严格。

3)子类可以拥有自己的成员方法。

依赖倒置原则

1)高层模块不因该依赖底层模块,两者应该依赖于抽象。

2)抽象不要依赖于细节,而细节应该依赖于抽象。

3)A---B (当A直接依赖了B对象,那么这里就是一个紧耦合的,导致的结果就是当更换B组件de时候,会直接影响到A模块。)

4)因此,所谓的倒置,就是让A和B之间不产生直接的依赖,而是让这两者都依赖一个抽象(接口,抽象类)。

IOC(控制反转):它是依赖倒置原则的一种实现思想。

依赖倒置原则很好的解决了高层和底层之间的直接依赖,解决了层与层之间的耦合度问题。但是,并没有解决对象的管理和装备的责任。意思也就是,所有对象的创建与管理都必须在程序中完成。因此,当更换程序模块的时候,还是要修改原有的代码,这样又违背了开闭原则。

那么控制反转的思想,就是将这些对象的创建管理以及装配等工作直接从程序中移除出来,交由给一个第三方的管理者去负责,这样就将对象的控制权转移到了第三方的身上,这个过程就称之为控制反转。在控制反转中都会有一个第三方的容器去管理和存储这些对象,这个容器就叫做IOC容器。

IOC容器可以提供两中实现供客户端使用:

1)依赖查找:也就是客户端主动的从容器中去查找需要的对象。

2)依赖注入:正好和依赖查找相反,客户端所需的对象不需要自己去容器中查找,而是由容器自动的把这个对象注入到客户端中。(好莱坞原则,”你不来找我,我会来找你。“)

接口隔离原则:

当不同的实现类实现了同一个的接口时,个别的实现类其实并不需要实现其所有的方法的时候,这个接口设计是有问题的,也就是接口污染。我们就必须要重新设计接口,将接口进行拆分。在设计阶段尤为关键。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值