设计模式7大原则通俗总结

开闭原则:

  • 一句话解释:对扩展开放,对修改关闭
  • 线索:业务需求有变动,应该新开接口实现功能(可以通过继承来复用现有功能),而不应该直接改写原有功能

里示替换原则:

  • 一句话解释:衍生类(子类)“尽量”不要重写父类现有功能,是对开闭原则的补充
  • 线索: 当调用一个父类(或接口的方法),但它的衍生类却不支持,会增加出错的几率
  • 如: 调用 “鸟” 的 飞() 方法,但它的实际对象 “玩具鸟” 却不支持该方法。
  • 解决方案: 应该切断它们的继承关系,重新设计它们之间的关系

合成复用原则:

  • 原始定义:它要求在软件复用时,要尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。
  • 一句话解释:里氏替换原则定义了我们不该做什么,该原则则对其进行了补充,告诉了我们该优先怎么做

单一职责原则:

  • 一句话解释:一个类(或方法)只应做好一件事,不应该承担太多职责
  • 线索:该原则很抽象,只能靠开发自己来主观把控,没什么好讨论的

接口隔离原则:

  • 原始定义:客户端不应该被迫依赖于它不使用的方法
  • 一句话解释:要从调用方角度,为各个类建立调用方需要的专用接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。
  • 线索:跟单一职责原则一样,该原则只能靠开发主观把控,没什么好讨论的,任何事物只要复杂到一定程度,它自然会驱动人们去对它进行拆分

迪米特法则:

  • 一句话解释:10个人之间相互沟通的成本9(每个人要跟9个人对话);若引入一个中间人,大家通过中间人和其他人沟通的话,每个人的沟通成本就是1(每个人只需要跟中介者传达信息,由中介转发)
  • 线索:常用的中介者模式就是典型的迪米特法则的应用。但不应该在系统中滥用中介者,力度还是得靠开发者主观把控。

依赖倒置原则:

  • 原始定义:①高层模块不应该依赖低层模块,二者都应该依赖其抽象;②抽象不应该依赖细节;③细节应该依赖抽象。
  • 一句话解释:类之间的引用尽量依赖接口,而不要直接依赖具体类。
  • 线索:类A->类B->接口C (错),类A->接口C<-类B(对),结合bing搜索Inversion图片来理解
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值