![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java-设计模式
wxw-new
这个作者很懒,什么都没留下…
展开
-
(一)单例模式详解
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 上一章,我们学习了设计模式的概念,以及为什么要学习设计模式,还有在进行系统设计时应当遵守的六大原则,本章我们就来开始一一的学习GOF当中的二十三钟设计模式。 我一直在思考如何去诠释这么多设计模式,因为网转载 2016-12-21 10:21:06 · 262 阅读 · 0 评论 -
备忘录模式
备忘录模式也是GOF提出的23种设计模式中行为模式的一种,大家看到这个名字可能会觉得很生疏,相信很多同学没见过这种设计模式更没有用过它,其实备忘录模式是一种非常简单容易理解的设计模式。 备忘录模式是用于哪种场景的呢?它适用于对象在执行某些操作为防止意外而在执行操作前将对象状态备份的场景,有点类似于事务回滚的意思。 下面还是先看下GOF对它的定义: 在不破坏封装的前提下,捕获一个对象的内部状态,原创 2016-12-22 15:50:59 · 213 阅读 · 0 评论 -
(十七)迭代器模式详解(foreach的精髓)
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 各位好,很久没以LZ的身份和各位对话了,前段时间为了更加逼真的解释设计模式,LZ费尽心思给设计模式加入了故事情节,本意是为了让各位在看小说的过程中就可以接触到设计模式,不过写到现在,LZ最深的感触就是,构转载 2016-12-22 15:54:41 · 230 阅读 · 0 评论 -
(十八)享元模式详解(都市异能版)
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 魔都。 自从越狱风波过去以后,小左的生活便又回到了之前的节奏,依旧是每日徘徊在魔都某天桥,继续着自己的算命之旅。 说起这次越狱风波,着实让小转载 2016-12-22 16:06:41 · 256 阅读 · 0 评论 -
(十九)组合模式详解
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 定义:(GoF《设计模式》):将对象组合成树形结构以表示“部分整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 从定义中可以看出,组合模式用来表示部分与整体的转载 2016-12-22 16:08:03 · 267 阅读 · 0 评论 -
二十)职责链模式详解(都市异能版)
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 凌晨两点,魔都某出租屋。 "God like." ....... "Holy shit." ...... “哈转载 2016-12-22 16:09:17 · 259 阅读 · 0 评论 -
(二十一)状态模式详解(DOTA版)
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 本次LZ给各位介绍状态模式,之前在写设计模式的时候,引入了一些小故事,二十章职责连模式是故事版的最后一篇,之后还剩余四个设计模式,LZ会依照原生的方式去解释这几个设计模式,特别是原型模式和解释器模式,会包含一些转载 2016-12-22 16:09:48 · 231 阅读 · 0 评论 -
(二十二)访问者模式详解(伪动态双分派)
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 本次LZ和各位分享一下访问者模式,从场景、设计初衷以及实现方面来说,访问者模式算是LZ即将写到的24种设计模式当中,最复杂也是最难理解的一个设计模式。 针对这样一个设计模式,LZ到底该如何和各位转载 2016-12-22 16:10:44 · 267 阅读 · 0 评论 -
(二十三)原型模式详解(clone方法源码的简单剖析)
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 原型模式算是JAVA中最简单的设计模式了,原因是因为它已经被提供了语言级的支持,但是如果提到它的实现原理,又是最复杂的一个设计模式。 下面我们先来看看这个又简单又复杂的设计模式的定义。转载 2016-12-22 16:11:27 · 228 阅读 · 0 评论 -
(二十四)解释器模式详解
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 解释器模式是平时工作当中相对冷门的一个设计模式,也非常的难于理解,百度百科上的解释也非常之少,只是简单的介绍了一下,并且说了一句,可以参考正则表达式为一个实际的应用例子。 不过资料的转载 2016-12-22 16:12:00 · 247 阅读 · 0 评论 -
设计模式-开篇
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。最近一直在学习设计模式相关的知识,还是老规矩,和各位一起学习,一起探讨,本系列所发表所有内容仅代表个人观点。《简介》说到设计模式,当初第一次听到时,第一反应就是很深奥,完全理解不了这个概念到底是什么意思,下面我先从网上摘录一份定义转载 2016-12-20 17:25:40 · 246 阅读 · 0 评论 -
建造者模式
在阎宏博士的《JAVA与模式》一书中开头是这样描述建造(Builder)模式的: 建造模式是对象的创建模式。建造模式可以将一个产品的内部表象(internal representation)与产品的生产过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。 产品的内部表象 一个产品常有不同的组成成分作为产品的零件,这些零件有可能是对象,也有可能不是对象,它们通常又叫做产品的内部原创 2016-12-22 15:32:36 · 250 阅读 · 0 评论 -
(十四)桥接模式详解(都市异能版)
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 魔都国贸附近,某天夜里十一点半。 那一晚,魔都出奇的没有做只打雷不下雨的勾当,老天似乎是要将魔都淹没一般,倾盆大雨像不要命似的拍打着地面。 漆黑的夜幕中,一道黑影从一个十转载 2016-12-22 15:27:13 · 326 阅读 · 0 评论 -
(三)简单工厂模式详解
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 上一章我们着重讨论了代理模式,以及其实现原理,相信如果你看完了整篇博文,应该就对代理模式很熟悉了。 本章我们讨论简单工厂模式,我当初不小心夸下海口说不和网络上传播的教学式模式讲解雷同,所以现在感觉写一篇转载 2016-12-21 14:12:54 · 213 阅读 · 0 评论 -
(四)工厂方法模式详解(另附简单工厂的死亡之路)
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 文章开头首先非常感谢各位的支持,代理模式中提到了class文件(即字节码文件)的相关知识,有一位读者说想要看有关class文件的相关内容,我也意识到了这一点,所以以后如果有在讲解那个模式的过程当中用到了其它的技转载 2016-12-21 14:42:16 · 316 阅读 · 0 评论 -
(五)抽象工厂模式详解
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 前两章我们已经讨论了两种有关工厂的模式,今天我们来看最后一种与工厂相关的模式,抽象工厂模式。 抽象工厂模式算是工厂相关模式的终极形态,如果各位完全理解了上一章的工厂方法模式,那么抽象工厂模式就很好理解了转载 2016-12-21 15:40:43 · 266 阅读 · 0 评论 -
(六)观察者模式详解(包含观察者模式JDK的漏洞以及事件驱动模型)
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 本章我们讨论一个除前面的单例以及代理模式之外,一个WEB项目中有可能用到的设计模式,即观察者模式。 说起观察者模式,LZ还是非常激动的,当初这算是第一个让LZ感受到设计模式强大的家伙转载 2016-12-21 16:53:31 · 251 阅读 · 0 评论 -
(七)策略模式详解
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 上章我们着重讲解了观察者模式和事件驱动,那么本章来讨论一个个人认为在开发过程中出场率极高的设计模式,策略模式。 策略模式在LZ第一次接触到的时候,LZ是这么理解的,就是如果我们想往一转载 2016-12-22 10:42:50 · 335 阅读 · 0 评论 -
(八)适配器模式详解
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 各位好,我们本次接着讨论第八个设计模式,适配器模式。 适配器模式从实现方式上分为两种,类适配器和对象适配器,这两种的区别在于实现方式上的不同,一种采用继承,一种采用组合的方式。转载 2016-12-22 13:24:36 · 361 阅读 · 0 评论 -
(九)模板方法模式详解(包含与类加载器不得不说的故事)
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 模板方法模式,这是一个在许多优秀的开源项目中LZ见的最多的一个设计模式,也是LZ觉得最为优秀的一个设计模式,所以这一章LZ会尽自己所能的去尽量将这个设计模式解释清楚。 模板方法模转载 2016-12-22 13:42:58 · 227 阅读 · 0 评论 -
(十)装饰器模式详解(与IO不解的情缘)
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 LZ到目前已经写了九个设计模式,回过去看看,貌似写的有点凌乱,LZ后面会尽量改进。 那么本章LZ和各位读友讨论一个与JAVA中IO有着不解情缘的设计模式,装饰器模式。转载 2016-12-22 14:05:34 · 259 阅读 · 0 评论 -
(十一)外观模式详解(Service第三者插足,让action与dao分手)
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 各位好,LZ今天给各位分享一个不太熟悉的面孔,但却是我们最经常使用的设计模式,外观模式。 定义:外观模式是软件工程中常用的一种软件设计模式。它为子系统中的一组接口提供一个统一的高转载 2016-12-22 14:25:00 · 216 阅读 · 0 评论 -
(十二)命令模式详解(故事版)
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 背景:小左是魔都某公司技术部的一名屌丝程序猿,每天的工作就是维护一个20世纪的古董级项目,由于公司不大,所以公司很多制度不太完善,导致小左每天都郁闷异常,只是靠偶尔的在刚毕业的小小美女程序媛旁边露一手,来丰转载 2016-12-22 14:36:01 · 194 阅读 · 0 评论 -
(十三)中介者模式详解(玄幻版)
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 自盘古开天辟地以来,模式大陆之上,逐渐孕育出一种具有高级智慧的生物----人类。 多年以来,人类凭借着强大的繁衍能力,使得人类的数量急剧增长。伴随着数量的增加,各种争执与战争开始不可避免的产转载 2016-12-22 15:03:39 · 227 阅读 · 0 评论 -
(二)代理模式详解(包含原理详解)
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 我特意将本系列改了下名字,原名是《设计模式学习之路》,原因是因为之前写过一篇《spring源码学习之路》,但是我感觉本次写二十三种设计模式,更多的还是分享给各位自己的理解,所以感觉学习之路有点不合适,另外,从本转载 2016-12-21 10:18:19 · 242 阅读 · 0 评论