设计模式系统学习

        设计模式学习过程中,参考了刘伟老师的技术博客(https://blog.csdn.net/LoveLion/article/category/738450/2?),在学习的过程中也加入了自己的理解,目前逐步更新,内容为设计模式的六大原则和二十四个java项目常用设计模式。

(新的总结跳转地址)

        模式是在特定环境下人们解决某类重复出现问题的一套成功或有效的解决方案。这些方案能够快速的帮我们解决一些重复出现的问题,避免重复性工作,设计出高效的、扩展性好的系统。在学习的过程中需要注意的是,模式并不是死板的孤立存在的,实际使用过程中一个模式一般都会和其他模式配合完成功能,应该根据具体业务和代码对选择合适的模式。

一、设计模式的基本原则

  1. 面向对象的开闭原则:对扩展开放,对修改关闭,功能应该在不修改原代码的基础上进行扩展。为了满足开闭原则,需要对系统进行抽象化,抽象化是开闭原则的关键。
  2. 里氏代换原则:所有依赖其父类功能的地方,都适用于它的子类,且不会有任何错误和异常。在程序中尽量使用基类对对象进行定义,在运行时在确定其子类类型,用子类来代替基类。
  3. 依赖倒转原则:抽象不应该依赖于细节,细节应该依赖于抽象。绝体解释为面向接口编程,而不是针对实现编程。依赖倒转原则要求我们在程序代码中传递参数时或在关联关系中,尽量引用层次高的抽象层类,即使用接口和抽象类进行变量类型声明、参数类型声明、方法返回类型声明,以及数据类型的转换等,而不要用具体类来做这些事情。开闭原则是目标,里氏代换原则是基础,依赖倒转原则是手段
  4. 接口隔离原则:使用多个专门的接口,而不使用单一的接口,客户端不应该依赖那些它不需要的接口。每一个接口应该承担一种相对独立的角色,不干不该干的事,该干的事都要干。
  5. 合成复用原则:尽量使用组合,而不是使用继承来达到复用的目的。通过组合/聚合关系或通过继承,但首先应该考虑使用组合/聚合,组合/聚合可以使系统更加灵活,降低类与类之间的耦合度,一个类的变化对其他类造成的影响相对较少
  6. 迪米特法则:一个软件实体应尽量少的与其他软件实体发生相互作用。迪米特法则可降低系统的耦合度,使类与类之间保持松散的耦合关系。
  7. 单一职责原则:一个对象应该只包含单一的职责,并且该职责被完整封装在一个类中。

二、java常用的实际模式及分类

        根据设计模式的目的,可以分为创建型、结构型、行为型三大类。创建型主要用于创建对象,结构型主要用于处理类或对象的组合,行为型主要用于描述类或对象怎样交互和怎样分配职责。

  1. 创建型模式:单例模式简单工厂模式工厂方法模式抽象工厂模式原型模式建造者模式
  2. 结构型模式:适配器模式桥接模式组合模式装饰者模式外观模式享元模式代理模式
  3. 行为型模式:职责链模式命令模式解释器模式迭代器模式中介者模式备忘录模式观察者模式状态模式策略模式模板方法模式访问者模式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值