问题 : 代理的应用场景是什么 动态代理的底层原理是什么,为什么只能继承接口 概述 代理模式是设计模式的一种,简单地说就是调用代理类的方法实际就是调用真实类的方法。这种模式在AOP (切面编程)中非常常见,使用的场景比如事务,网络代理等。他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预... ...
分类:
编程语言 时间:
2019-02-25 16:40:24
阅读次数:
162
概述 设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。 使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。 设计模式可以分为三大类,分 ...
分类:
其他好文 时间:
2019-02-20 17:24:09
阅读次数:
167
在设计模式中,经常会谈到的一点是解耦。很多设计模式的优点,就是把调用方和实现方解耦了。比方说Command模式,比方说Mediator模式等等。 进一步思考一下,解耦的目的是什么呢?我的答案是复用。如果仅仅是解耦,没有复用,那解耦没有任何意义。 打个比方,我们都知道,业务逻辑不应该依赖具体的DAO实 ...
分类:
其他好文 时间:
2019-02-18 23:12:15
阅读次数:
206
静态代理的运用场景:在原来的类的基础上进行扩展,与继承类相比,扩展性更强 应用的技术:反射+多态 核心思想: <1>原来的类不允许修改 <2>有扩展需求 <3>继承可以解决问题,但有局限性,只能实现一个类,想实现其他功能不同的类就不行了 解决方法:代理:去创建一个类控制对另一个类的访问 ps:代理类 ...
分类:
其他好文 时间:
2019-02-12 09:15:09
阅读次数:
179
概念 Command模式也叫命令模式 ,是行为设计模式的一种。Command模式通过被称为Command的类封装了对目标对象的调用行为以及调用参数。 在面向对象的程序设计中,一个对象调用另一个对象,一般情况下的调用过程是:创建目标对象实例;设置调用参数;调用目标对象的方法。 但在有些情况下有必要使用 ...
分类:
其他好文 时间:
2019-02-09 22:27:30
阅读次数:
189
概念 Mediator模式也叫中介者模式,是由GoF提出的23种软件设计模式的一种。Mediator模式是行为模式之一,在Mediator模式中,类之间的交互行为被统一放在Mediator的对象中,对象通过Mediator对象同其他对象交互,Mediator对象起着控制器的作用。 角色和职责 GOO ...
分类:
其他好文 时间:
2019-02-09 22:27:12
阅读次数:
243
概念 State模式也叫状态模式,是行为设计模式的一种。State模式允许通过改变对象的内部状态而改变对象的行为,这个对象表现得就好像修改了它的类一样。 状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转译到表现不同状态的一系列类当中,可以把复杂的判断逻辑简化 ...
分类:
其他好文 时间:
2019-02-09 22:22:07
阅读次数:
213
软件设计模式的产生背景 设计模式这个术语最初并不是出现在软件设计中,而是被用于建筑领域的设计中。 1977 年,美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大(Christopher Alexander)在他的著作《建筑模式语言:城镇、建筑、构造(A Pattern ...
分类:
编程语言 时间:
2019-02-03 12:40:43
阅读次数:
154
本文UML类图参考《Head First 设计模式》(源码)与《设计模式:可复用面向对象软件的基础》(源码)两书中介绍的设计模式与UML图。 整理常用设计模式的类图,一方面是为了练习UML,另一方面可以重新思考设计模式。当然,整理完成后可以作为一份手册供今后翻阅。 绘图工具:Visual Studi ...
分类:
其他好文 时间:
2019-01-29 11:59:01
阅读次数:
206
在网上看了一些设计模式的文章后,感觉还是印象不太深刻,决定好好记录记录。 原文地址:http://blog.csdn.net/doymm2008/article/details/13288067 注:本文代码基本都有很多没有初始化等等问题,主要是为了减少代码量,达到一眼就能了解大概情况的目的。 ja ...
分类:
编程语言 时间:
2019-01-28 23:49:17
阅读次数:
249