设计模式之路
文章平均质量分 57
从设计模式的基础UML开始,从认识UML图,再到分析每个设计模式,并且从中总结了每个模式的优缺点。UML的每个关系在设计模式中都有体现,理解了没个关系对于我们理解和掌握每个设计模式非常有帮助。
Grace_sisi
这个作者很懒,什么都没留下…
展开
-
UML之关系
UML中的关系原创 2014-11-22 13:59:31 · 2157 阅读 · 20 评论 -
UML之九种图
UML说是九种图吧!其实是众说纷纭,不管有几种图,我们只要能够很好的运用这几张图就好,主要有用例图、类图、对象图、状态图、活动图、序列图、协作图、构件图和部署图,至于包图是否属于这九种图,我也理不清楚,不过包图在大型项目中,却是必不可少的一项。下面一个一个来介绍这几种图: 【静态图】 类图:显示了模型的静态结构,我们能够根据类图来设计整个系原创 2014-11-27 16:58:02 · 1238 阅读 · 19 评论 -
UML再论关系extend和include
我在画用例图时,图中既有extend关系也有include关系,师父就问我这两种关系的区别,我在画的时候确实查阅了很多资料,可是在问的时候还是回答不上来,这就是这篇博客得来的缘由了。 【extend】原创 2014-11-28 10:19:19 · 1360 阅读 · 23 评论 -
设计模式之六则并进
6大原则:指设计模式中遵循的六个基本原则,并进是我们在学习的模式都会用到其中的某个或某几个原则,来让我们的代码达到复用。 1、单一职责:通俗理解为只做一件事。其包含两个含义:一、一个模块只完成一个功能,二、一个功能只由一个模块完成。这就跟流水线工作似的,每个工人只负责自己的工作,不用管其他人的工作。 2、开放-封闭:允许添加、扩展新的功能,不允许原创 2014-12-28 15:46:17 · 1141 阅读 · 20 评论 -
设计模式之创建型
经典的设计模式有23个,我们书中将设计模式分为三类,即:创建型、结构型、行为型。既然书中将她们分成三类,必然有其原因,我们来分析一下。 创建性:都需要创建一个东西(工厂、接口、具体原型类、单个实例) 结构型:将类或对象组合成起来形成一个结构。 行为型:对象间行为的分配 今天我就主要来讲述一下创建型模式,其包括:工厂方法模式、抽象工厂模式、建造者模式、原型模式原创 2014-12-31 18:41:29 · 1346 阅读 · 14 评论 -
设计模式之一对多
创建型模式一组比赛中我们来对比一下单例模式和原型模式,首先邀请单例小姐和原型小姐上场。在台上我们就听见Fans的呼喊声了,“单例单例,你最美丽,一人穿件,全家获益!”,“给我一个原型,我能创造真个世界!”,呼叫声此起彼伏,声声不断。 究竟他们之间有什么不同的呢?我们来做一下比较。 【单例模式】:跟竹米一生只开一次花一杨,单例模式只实例化一次。原创 2015-01-01 10:24:18 · 2911 阅读 · 12 评论 -
设计模式之结构型
接下来进行的比赛就是死亡之组——结构型模式,到底谁能够晋级呢?这个我们现在还无法预测,那就赶紧看这场精彩的比赛吧! 首先有一个疑问,为什么分为结构型呢?她们都从程序的结构上降低了模块之间的耦合。 接下来一一介绍各位美丽的小姐: 【设配器小姐】为别人的沟通提供方便,当一个完全不懂英语的人需要和美国人交流时,我们就需要有翻译最为中间媒介,来达到双方的交流,而翻译员所起到的原创 2015-01-02 09:12:07 · 1425 阅读 · 10 评论 -
深复制与浅复制
深复制和浅复制都是拷贝一个对象,既然都是拷贝二者有什么不同呢?我们来仔细分析一下。 我们在D盘中建立一个表格,每次从D盘中找回很麻烦,怎么才能省事呢?在桌面创建一个快捷方式,这样就可以很方便的打开了,这种方式称为浅复制,如果进入D盘中改变数据,则用快捷方式打开后数据也会发生改变。 还有一种方式,直接在桌面上Copy一份该表,这样对表的操作不会影响到另一个表中的数据,这称为深原创 2015-01-15 20:08:44 · 1150 阅读 · 18 评论 -
Java动态代理演变之路
1、什么是代理? 代理,英文成文Proxy。意思是你不用去做,别人代替你去处理。比如有人想找明星周董去唱歌,他需要做签约、讨论、唱歌和付款等等过程,但真正周董擅长的事情是唱歌,其他的事情可以交代给他的经纪人来做,经纪人就是一个代理,周董就是被代理的人。2、我们为什么要引入代理? 比如我们要统计每个方法的执行时间,以对性能做出评估,那我们就需要在每个方法的头尾原创 2016-11-05 18:55:13 · 700 阅读 · 28 评论 -
Java动态代理-JDK自带实现
上篇文章讲解了什么是静态代理,但是静态代理有一个问题就是需要建立很多的代理类,这样我们需要修改代理的方法的时候,需要在每个类中都要修改,这对于我们来说:当代理类很多的时候工作量就会成倍的增加。 于是针对上述问题,人们就提出了解决方案,我们在运行中来实现代理类的创建,也就是今天要讲解的主题——动态代理,首先先说的是JDK自带的动态代理的实现。 JDK自带的代理实现原创 2016-11-13 19:35:54 · 2016 阅读 · 53 评论 -
Java动态代理--CGLib实现
上一篇说了通过JDK实现实现了动态代理,但是用JDK实现代理,要求所代理的类必须实现一个接口。如果我们类不实现接口,这就在无法使用JDK提供的Proxy来实现动态代理,这个时候我们应该怎么办呢?我们找到了一个能代理没有接口的类,就是CGLib类库。1、什么是CGLib? Byte Code Generation Library is high level API to g原创 2016-12-04 18:54:27 · 943 阅读 · 26 评论