Java设计模式
蜜蜂采蜜
乐观、豁达、开朗的小蜜蜂,努力奔跑......
展开
-
迭代器模式
网址链接:https://www.cnblogs.com/chenssy/p/3250409.html 你项目组接到一个项目:对电视机的电视频道、电影和收音机菜单进行统一管理,建立一个统一的菜单管理界面,能够看到所有的电视界面、电影界面和收音机频道。你有三个手下:小李子、小杏子、小安子,他们分别就每个模块做开发工作,看他们都做了哪些工作。 这是主菜单JavaBean,用于显示每个...转载 2018-11-01 17:20:01 · 340 阅读 · 0 评论 -
原型模式
网址链接:https://my.oschina.net/Sheamus/blog/384180 原型模式算是JAVA中最简单的设计模式了,原因是因为它已经被提供了语言级的支持,但是如果提到它的实现原理,又是最复杂的一个设计模式。下面我们先来看看这个又简单又复杂的设计模式的定义。定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。定义比较简单,总结一下是通过实例指定...转载 2018-11-07 17:36:21 · 457 阅读 · 0 评论 -
命令模式
网址链接:https://www.cnblogs.com/java-my-life/archive/2012/06/01/2526972.html在阎宏博士的《JAVA与模式》一书中开头是这样描述命令(Command)模式的: 命令模式属于对象的行为模式。命令模式又称为行动(Action)模式或交易(Transaction)模式。 命令模式把一个请求或者操作封装到一个对象中。命令模...转载 2018-11-07 17:55:30 · 450 阅读 · 0 评论 -
备忘录模式
网址链接:https://www.cnblogs.com/java-my-life/archive/2012/06/06/2534942.html在阎宏博士的《JAVA与模式》一书中开头是这样描述备忘录(Memento)模式的: 备忘录模式又叫做快照模式(Snapshot Pattern)或Token模式,是对象的行为模式。 备忘录对象是一个用来存储另外一个对象内部状态快照的对象。...转载 2018-11-07 18:05:32 · 433 阅读 · 0 评论 -
简单(静态)工厂模式
网址链接1:http://www.cnblogs.com/Bobby0322/p/4178412.html网址链接2:http://blog.51cto.com/zero01/2067822 1. 介绍简单工厂模式不能说是一个设计模式,说它是一种编程习惯可能更恰当些。因为它至少不是Gof23种设计模式之一。但它在实际的编程中经常被用到,而且思想也非常简单,可以说是工厂方法模式的一个...转载 2018-11-08 15:58:36 · 1850 阅读 · 1 评论 -
工厂方法模式
网址链接:http://blog.51cto.com/zero01/2067822工厂方法模式(Factory Method),是23种设计模式之一。DP中是这么定义工厂方法模式的:工厂方法模式定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。所谓工厂方法模式,其实也像我们现实生活中的工厂,也是用来生产东西的,只不过我们代码中的工厂是用来生...转载 2018-11-08 16:01:21 · 731 阅读 · 0 评论 -
抽象工厂模式
网址链接:http://blog.51cto.com/zero01/2070033抽象工厂模式(Abstract Factory),是23种设计模式之一。DP中是这么定义抽象工厂模式的:抽象工厂模式(Abstract Factory),提供一个创建一系列相关或互相依赖对象的接口,而无需指定它们具体的类。在学习抽象工厂模式之前,最好熟悉简单工厂模式以及工厂方法模式,这样对理解抽象工厂...转载 2018-11-08 16:05:41 · 555 阅读 · 0 评论 -
桥接模式
网址链接:http://www.cnblogs.com/chenssy/p/3317866.html在开始学java的时候老师讲到继承的时候,总是喜欢用一个例子来讲解,那就是画图,这里有一个画笔,可以画正方形、长方形、圆形(这个大家都知道怎么做吧,我就不解释了)。但是现在我们需要给这些形状进行上色,这里有三种颜色:白色、灰色、黑色。这里我们可以画出3*3=9种图形:白色正方形、白色长方形、白色...转载 2018-11-08 16:19:54 · 233 阅读 · 0 评论 -
模板模式
网址链接:https://www.cnblogs.com/java-my-life/archive/2012/05/14/2495235.html在阎宏博士的《JAVA与模式》一书中开头是这样描述模板方法(Template Method)模式的: 模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同...转载 2018-11-08 16:36:26 · 816 阅读 · 0 评论 -
状态模式
网址链接:https://www.cnblogs.com/java-my-life/archive/2012/06/08/2538146.html在阎宏博士的《JAVA与模式》一书中开头是这样描述状态(State)模式的: 状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模式。 状态模式允许一个对象在其内部状态改变的时候...转载 2018-11-08 16:40:35 · 498 阅读 · 0 评论 -
职责链
网址链接:https://www.cnblogs.com/java-my-life/archive/2012/05/28/2516865.html在阎宏博士的《JAVA与模式》一书中开头是这样描述责任链(Chain of Responsibility)模式的: 责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到...转载 2018-11-08 16:47:15 · 680 阅读 · 0 评论 -
代理模式 -- SpringAOP的实现原理
网址链接:http://www.cnblogs.com/lcngu/p/5339555.html代理模式UML图:代理模式中的角色:1.抽象对象角色声明了目标类及代理类对象的共同接口,这样在任何可以使用目标对象的地方都可以使用代理对象。2.目标对象角色定义了代理对象所代表的目标对象。3.代理对象角色代理对象内部含有目标对象的引用,从而可以在任何时候操作目标对象;...转载 2018-11-07 17:20:37 · 704 阅读 · 0 评论 -
观察者模式
网页地址:https://www.cnblogs.com/java-my-life/archive/2012/05/16/2502279.html在阎宏博士的《JAVA与模式》一书中开头是这样描述观察者(Observer)模式的: 观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Lis...转载 2018-11-07 16:39:35 · 375 阅读 · 0 评论 -
两周多学完Java 23种设计模式
最近两周任务不是很繁重,对于一个刚入职4个月的菜鸟来说,学习设计模式并灵活使用简直天方夜谭;但是当我询问我导师需要学点啥的时候?“《Java设计模式》,这个必须要学”,一句简单粗略的话就打发我了。我花了将近两周多的时间看了一部分《Java设计模式》、google网上大佬的博客总结和样例展示,阅读一些Java的底层源码,让我对Java设计模式有了一个全面的认识和理解。 接...原创 2018-11-06 18:39:03 · 5860 阅读 · 8 评论 -
单例模式详解
java设计模式--单例模式 单例设计模式Singleton是一种创建型模式,指某个类采用Singleton模式,则在这个类被创建后,只可能产生一个实例供外部访问,并且提供一个全局的访问点。核心知识点如下:(1) 将采用单例设计模式的类的构造方法私有化(采用private修饰)。(2) 在其内部产生该类的实例化对象,并将其封装成private static类型。(3) 定义...原创 2017-04-12 13:55:08 · 1673 阅读 · 0 评论 -
访问者模式
网址链接:https://www.cnblogs.com/haoerlv/p/7777946.html 本次YC和各位分享一下访问者模式,从场景、设计初衷以及实现方面来说,访问者模式算是LZ即将写到的24种设计模式当中,最复杂也是最难理解的一个设计模式。(这篇博客LZ讲解十分深刻,内容较多,本人已看了两遍,分享出来,一起学习!)针对这样一个设计模式,LZ到底该如何和各位分...转载 2018-11-06 19:01:09 · 464 阅读 · 0 评论 -
中介者模式
网址链接:https://www.cnblogs.com/chenssy/p/3348520.html 这篇博客本人觉得讲解比较详细,体现出中介者模式的核心思想,通过中介者进行同事类之间的信息交互,起到一个中转作用,将同事之间的关系行为进行分离和封装。 在我们的生活中处处充斥着“中介者”,比如你租房、买房、出国留学、找工作、旅游等等可能都需要那些中介者的帮助,同时我们也...转载 2018-11-06 20:14:03 · 1163 阅读 · 0 评论 -
享元模式
在阎宏博士的《JAVA与模式》一书中开头是这样描述享元(Flyweight)模式的: Flyweight在拳击比赛中指最轻量级,即“蝇量级”或“雨量级”,这里选择使用“享元模式”的意译,是因为这样更能反映模式的用意。享元模式是对象的结构模式。享元模式以共享的方式高效地支持大量的细粒度对象。Java中的String类型 在JAVA语言中,String类型就是使用了享元模式。Strin...转载 2018-11-06 21:18:48 · 494 阅读 · 0 评论 -
外观模式
网址链接:https://www.cnblogs.com/lfxiao/p/6816900.html外观模式是一种使用频率非常高的结构型设计模式,它通过引入一个外观角色来简化客户端与子系统之间的交互,为复杂的子系统调用提供一个统一的入口,降低子系统与客户端的耦合度,且客户端调用非常方便。重点理解: 外观模式的主要目的在于降低系统的复杂程度,在面向对象软件系统中,类与类之间的关系越多,不能表...转载 2018-11-07 11:24:22 · 445 阅读 · 0 评论 -
适配器模式
网址链接1:https://segmentfault.com/a/1190000011856448网址链接2:https://www.cnblogs.com/lwbqqyumidi/p/3750128.html适配器就是一种适配中间件,它存在于不匹配的二者之间,用于连接二者,将不匹配变得匹配,简单点理解就是平常所见的转接头,转换器之类的存在。 适配器模式有两种:类适配器、对象适配器、...转载 2018-11-07 14:21:56 · 372 阅读 · 0 评论 -
策略模式
网址连接:https://www.cnblogs.com/znicy/p/5522422.html 前段时间买了一本书《Head First设计模式》,看了第一章后才对设计模式的概念有少许了解:它其实是开发过程中很多前人的经验与智慧的总结,帮助你在开发时采取更好的方式去设计各个类、方法、以及它们之间的调用、实现方式,让代码保持灵活性的同时又能更好地复用。基于学过一块知识一定要用文字记...转载 2018-11-07 15:17:12 · 409 阅读 · 0 评论 -
桥接模式
网址链接:http://www.cnblogs.com/chenssy/p/3317866.html在开始学java的时候老师讲到继承的时候,总是喜欢用一个例子来讲解,那就是画图,这里有一个画笔,可以画正方形、长方形、圆形(这个大家都知道怎么做吧,我就不解释了)。但是现在我们需要给这些形状进行上色,这里有三种颜色:白色、灰色、黑色。这里我们可以画出3*3=9种图形:白色正方形、白色长方形、白色...转载 2018-11-07 15:21:07 · 373 阅读 · 0 评论 -
建造者模式
1.概念建造者模式(英:Builder Pattern)是一种创建型设计模式,又名:生成器模式。GOF 给建造者模式的定义为:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。这句话说的比较抽象,其实解释一下就是:将建造复杂对象的过程和组成对象的部件解耦。2.用途假设现在我们是一家网游设计公司,现在我们要”抄袭”梦幻西游这款游戏,你是该公司的游戏角色设计人员。你...转载 2018-11-07 15:58:58 · 516 阅读 · 0 评论 -
装饰者模式
网址链接:https://www.cnblogs.com/chenxing818/p/4705919.html装饰者模式1、意图:动态地给一个对象添加一些额外的职责。就增加功能来说, Decorator模式相比生成子类更为灵活。该模式以对客 户端透明的方式扩展对象的功能。2、适用环境(1)在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。(2)处理那些可...转载 2018-11-08 16:54:03 · 523 阅读 · 0 评论