
Java设计模式
William.Wangmy
当你的才华配不上你的野心时,你得更加努力。个人开源项目仓库:https://gitee.com/WilliamWangmy
展开
-
Java设计模式(十七)——————【行为型模式】设计模式之观察者模式
源码地址:【行为型模式】设计模式之观察者模式目录基本介绍基本原理应用案例1、需求2、类图3、代码实现源码分析总结基本介绍观察者模式(有时又被称为模型(Model)-视图(View)模式、源-收听者(Listener)模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统。观察者模式(Observer),又叫发布-订阅模式(Publish/Su原创 2020-06-27 12:48:44 · 345 阅读 · 0 评论 -
Java设计模式(十六)——————【行为型模式】设计模式之迭代器模式
源码地址:【行为型模式】设计模式之迭代器模式目录基本介绍基本原理应用案例1、需求2、UML类图3、代码实现源码分析总结基本介绍迭代器模式(Iterator Pattern)是常用的设计模式,属于行为型模式如果我们的集合元素是用不同的方式实现的,有数组,还有java的集合类,或者还有其他方式,当客户端要遍历这些集合元素的时候就要使用多种遍历方式,而且还会暴露元素的内部结构,可以考虑使用迭代器模式解决。迭代器模式,提供一种遍历集合元素的统一接口,用一致的方法遍历集合元素,不需要知道原创 2020-06-27 12:46:01 · 495 阅读 · 0 评论 -
Java设计模式(十五)——————【行为型模式】设计模式之访问者模式
源码地址:【行为型模式】设计模式之访问者模式目录基本介绍基本原理应用案例1、需求2、UML类图3、代码实现总结基本介绍访问者模式(Visitor Pattern),封装一些作用于某种数据结构的各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。主要将数据结构与数据操作分离,解决 数据结构和操作耦合性问题访问者模式的基本工作原理是:在被访问的类里面加一个对外提供接待访问者的接口访问者模式主要应用场景是:需要对一个对象结构中的对象进行很多不同操作(这些操原创 2020-06-27 12:42:20 · 475 阅读 · 0 评论 -
Java设计模式(十四)——————【行为型模式】设计模式之命令模式
源码地址:【行为型模式】设计模式之命令模式目录基本介绍基本原理应用案例1、需求2、UML类图3、代码实现Spring源码分析总结基本介绍命令模式(Command Pattern):在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需在程序运行时指定具体的请求接收者即可,此时,可以使用命令模式来进行设计命名模式使得请求发送者与请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活,实现解耦。在命名模式中,会将一个请求原创 2020-06-27 12:35:20 · 328 阅读 · 0 评论 -
Java设计模式(十三)——————【行为型模式】设计模式之模板方法模式
源码地址:https://github.com/877148107/java-design-pattern目录基本介绍基本原理应用案例1、需求2、UML类图3、代码实现模板方法模式的钩子方法Spring源码分析总结基本介绍模板方法模式(Template Method Pattern),又叫模板模式(Template Pattern),在一个抽象类公开定义了执行它的方法的模板。它的...原创 2020-04-29 22:36:34 · 308 阅读 · 0 评论 -
Java设计模式(十二)——————【结构型模式】设计模式之代理模式
源码地址:https://github.com/877148107/java-design-pattern目录基本介绍静态代理1、基本介绍2、应用实例3、代码实现动态代理1、基本介绍2、应用实例3、代码实现Cglib代理1、基本介绍2、应用实例3、代码实现代理模式的变体基本介绍代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象.这样做的好处是:可...原创 2020-04-23 22:28:32 · 277 阅读 · 0 评论 -
Java设计模式(十一)——————【结构型模式】设计模式之享元模式
基本介绍1)享元模式(Flyweight Pattern) 也叫蝇量模式: 运用共享技术有效地支持大量细粒度的对象2)常用于系统底层开发,解决系统的性能问题。像数据库连接池,里面都是创建好的连接对象,在这些连接对象中有我们需要的则直接拿来用,避免重新创建,如果没有我们需要的,则创建一个3)享元模式能够解决重复对象的内存浪费的问题,当系统中有大量相似对象,需要缓冲池时。不需总是创建新对象,...原创 2020-04-16 23:15:20 · 256 阅读 · 0 评论 -
Java设计模式(十)——————【结构型模式】设计模式之外观模式
源码地址:https://github.com/877148107/java-design-pattern 目录基本介绍基本原理案例说明1、需求2、UML类图3、代码实现Mybatis源码分析总结基本介绍外观模式(Facade),也叫“过程模式:外观模式为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用外观模式通过定义一个一...原创 2020-04-15 23:35:45 · 327 阅读 · 0 评论 -
Java设计模式(九)——————【结构型模式】设计模式之组合模式
源码地址:https://github.com/877148107/java-design-pattern 目录基本介绍基本原理案例说明1、需求2、UML类图3、代码实现JDK源码分析总结基本介绍1)组合模式(Composite Pattern),又叫部分整体模式,它创建了对象组的树形结构,将对象组合成树状结构以表示“整体-部分”的层次关系。2)组合模式依据树形结构来组合对象,用来...原创 2020-04-14 23:02:16 · 393 阅读 · 0 评论 -
Java设计模式(八)——————【结构型模式】设计模式之装饰者模式
源码地址:https://github.com/877148107/java-design-pattern 目录基本介绍基本原理案例说明1、需求2、UML类图3、代码实现JDK源码分析基本介绍装饰者模式:动态的将新功能附加到对象上。在对象功能扩展方面,它比继承更有弹性,装饰者模式也体现了开闭原则(ocp)这里提到的动态的将新功能附加到对象和ocp****原则,在后面的应用实...原创 2020-04-13 23:03:22 · 278 阅读 · 0 评论 -
Java设计模式(七)——————【结构型模式】设计模式之桥接模式
源码地址:https://github.com/877148107/java-design-pattern 目录基本介绍原理类图代码案例1、需求2、UML类图3、代码实现JDBC桥接模式桥接模式应用场景总结基本介绍桥接模式(Bridge模式)是指:将实现与抽象放在两个不同的类层次中,使两个层次可以独立改变。是一种结构型设计模式Bridge模式基于类的最小设计原则,通过...原创 2020-04-12 21:48:25 · 247 阅读 · 0 评论 -
Java设计模式(六)——————【结构型模式】设计模式之适配器模式
源码地址:https://github.com/877148107/java-design-pattern 目录基本介绍工作原理类适配器模式1、类适配器模式介绍2、案例说明3、总结对象适配器模式1、基本介绍2、代码说明3、总结接口适配器模式1、基本介绍2、代码说明SpringMvc源码分析1、源码分析2、手写源码分析基本介绍适配器模式(Adapter Pattern)将某个类的接...原创 2020-04-11 00:01:45 · 231 阅读 · 0 评论 -
Java设计模式(五)——————【创建型模式】设计模式之建造者模式
源码地址:https://github.com/877148107/java-design-pattern 基本介绍1) 建造者模式(Builder Pattern) 又叫生成器模式,是一种对象构建模式。它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象。2) 建造者模式 是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象...原创 2020-04-08 23:25:41 · 250 阅读 · 0 评论 -
Java设计模式(四)——————【创建型模式】设计模式之原型模式
源码地址:https://github.com/877148107/java-design-pattern目录基本介绍Spring中的原型模式浅拷贝1、案例说明深拷贝1、案例说明总结 基本介绍 1) 原型模式(Prototype模式)是指:用原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象 2) 原型模式是一种创建型设计模式,允许一个对...原创 2020-04-01 22:56:51 · 251 阅读 · 0 评论 -
Java设计模式(三)——————【创建型模式】设计模式之简单工厂模式、工厂方法模式、抽象工厂模式
源码地址:https://github.com/877148107/java-design-pattern目录工厂模式说明传统方式实现1、UML类图2、代码实现3、总结简单工厂(静态工厂)模式1、UML类图2、代码实现工厂方法模式1、UML类图2、代码实现抽象工厂模式1、UML类图2、代码实现 工厂模式说明 我们利用一个需...原创 2020-03-30 23:20:27 · 412 阅读 · 0 评论 -
Java设计模式(二)——————【创建型模式】设计模式之单例模式
源码地址:https://github.com/877148107/java-design-pattern目录单例设计模式介绍单例设计模式八种方式1、饿汉式(静态常量)1)代码案例2)优点和缺点2、饿汉式(静态代码块)1)代码案例2)优点和缺点3、懒汉式(线程不安全)1)代码案例2)优点和缺点4、懒汉式(线程安全,同步方法)1)代码案例...原创 2020-03-26 23:51:51 · 303 阅读 · 1 评论 -
Java设计模式(一)——————设计模式介绍,设计模式七大原则
什么是设计模式 软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。 设计模式的目的 1)、代码重用性(相同功能的代码,不用多次编写)2)、可读性(编程规范性,便于其他人的阅读和理解)3)、可扩展性(...原创 2020-03-23 22:11:27 · 1256 阅读 · 0 评论