设计模式笔记

常用的设计模式

个人理解整理,欢迎批评指正

设计模式就是教你面向对象应该怎么玩,设计模式一般不会单独使用,多种设计模式组合使用。
所谓设计模式,就是遇到问题后的一种解决思路;将这些解决方法整合起来就形成了设计模式

设计模式讲究的是思想,有些设计模式实现上看可能类似,但是其表达的意思跟要解决的问题不一样

本文代码:https://github.com/shenwuwu/desigin

设计模式遵循的六大原则

  1. 单一职责SRP :针对一个类而言应该有且仅有一个原因引起类的变更;职责,是指类变化的原因,即实现高内聚低耦合,将不同的职责拆分出不同的类或方法。
  2. 里氏替换原则LSP基础–所有引用基类的地方,必须都可以用子类替换;即在继承关系中,必须保证子类含有父类的所有行为(不能在子类覆盖父类的行为,去提示说子类没有这个功能),并且保证行为的一致性,这样可以保证父类被复用,子类可以扩展。
  3. 依赖倒置原则DIP手段–面向抽象编程;即解决客户端与服务端的解耦,如果需求变更或扩展,服务端可以增加新的实现来完成;所谓倒置,1.正常情况下B要依赖于A,需要A先实现,B里才能放A的引用 2.面向接口编程,如果B要依赖于A,B中可以引用A的接口,而不需要A的实现,这个顺序的倒置。
  4. 接口隔离原则ISP:使用多个专门的接口比使用单一的总接口要好;即对客户端提供的接口,不要对其提供多余客户端不需要的功能。
  5. 迪米特法则LoD:实体之间尽量少的发生相互关系;主要还是为了解耦,可以通过友元类来完成关联。
  6. 开闭原则OCP目标 对扩展开放, 对修改关闭;每次扩展时,不能修改原有逻辑,类似于jdk每次升级时,新增功能去替换原有功能时,使用@Deprecated将旧方法改成不建议使用的状态。

设计模式

设计模式之间的关系(图片来源于:《设计模式:可复用面向对象软件的基础》)
在这里插入图片描述

组合设计模式场景:
1.

spring中的设计模式:

###持续更新…

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值