Java设计模式概述

前言

       设计模式是众多开发者在反复的实践中,总结出的最佳策略。设计模式往往被富有丰富软件开发经验的工程师所采纳。设计模式也是开发工程师在软件开发过程中面临一般的问题时的解决方案。设计模式是一套反复被开发者使用,多数人知晓的设计经验的高度总结,使用设计模式至少有两个好处。

1.避免相同的代码贴的到处都是。

2.使得代码被人理解和扩展。

设计模式的用途

  •  设计模式提供了一个标准术语,任何一个有几年开发经验的开发者在维护系统代码时,很能快速代码是什么?
  •  设计模式已经经过了一段漫长里历程,它们提供了在软件开发过程中面临的一些问题和最佳实践方案。

设计模式的类型

 Design Patterns一书中提到总共有23中设计模式,而这23中模式可以分为三类。

  • 创建型模式。

创建型模式主要有工厂模式,抽象工厂模式,单例模式,建造者模式,原型模式。这类设计模式强调的是在创建对象的同时,隐藏创建逻辑的方式,而不是使用new关键字直接实例化对象,这使得程序在判断针对给定实例需要创建哪些对象变得更加灵活。

  • 结构型模式。

结构型模式主要有适配器模式,桥接模式,过滤器模式,组合模式,装饰器模式,外观模式,享元模式,代理模式。结构型模式关注类和对象的组合。继承的概念被用来组合接口和定义组合对象获得新功能的方式。

  • 行为型模式

行为型模式主要有责任链模式,命令模式,解释器模式,迭代器模式,中介者模式,备忘录模式,观察者模式,状态模式,空对象模式策略模式,模板模式,访问者模式。

设计模式的6大原则

  • 开闭原则(open close principle),开闭原则的意思是,对扩展开放,对修改关闭,在程序需要进行拓展时,不去修改原有的代码,即为了让程序有良好的扩展性,便于维护和升级。
  • 里氏代换原则(liskov substitution principle):里氏代换原则是面向对象设计中的原则之一。子类能够在基类的基础上增加新的行为,即声明某一个变量时,采用基类类型,在运行时确定子类类型,用子类的行为来替换基类的行为。
  • 依赖倒转原则(dependence  inversion principle):这个原则是开闭原则的基础,强调的是,针对接口编程,依赖于抽象而不依赖于具体。
  • 接口隔离原则(interface segregation principle):使用多个隔离的接口,比使用单个接口要好,即,降低依赖,降低耦合。
  • 迪米特法则(demeter principle):一个实体尽量少地与其他实体发生相互作用,使得系统功能模块相对独立。
  • 合成复用原则(composite reuse principle):尽量使用合成/聚合的方式,而不是使用继承。

设计模式解读关注的重点

这个专题聊聊设计模式,我会把重点分为5点。

  • 该设计模式的基本概念。
  • 该设计模式的解决了什么问题。
  • 该设计模式的优点和缺点。
  • 该设计模式在JDK源码中应用。
  • 该设计模式在Spring源码中的应用。
原文地址:https://www.cnblogs.com/sunshine798798/p/9231498.html