记得刚接触代理,是在大话设计模式,最近在技术总结和学些java的过程又接触到静态代理和动态代理,尤其是动态代理,在学习AOP时,用到了动态代理,下面我用一些例子来对静态代理和动态代理做个总结。
其实用了代理之后最大的好处就是隐藏了真实类(委托类),这样更加安全,而静态代理和动态代理最大的区别就是,静态代理的代理类是程序员自己写的,在程序运行之前就已经存在的,而动态代理则是在程序运行时动态生成的,而且因为动态代理更加灵活,也常被应用。
首先先用一张UML图来理解一下代理是...
分类:
其他好文 时间:
2015-07-29 23:04:46
阅读次数:
157
如果你的UML图第一章还是用例图请你继续看下去;如果你不知道业务分析图和活动图的关系,请你继续看下去;如果你的机房无论是重构还是合作出现遗漏功能(我重构的时候就把操作员工作记录查询给漏了)请你继续看下去。...
分类:
其他好文 时间:
2015-07-27 19:10:27
阅读次数:
144
享元模式定义
英文定义:A flyweight is an object that minimizes memory use by sharing as much data as possible with other similar objects
中文定义:享元模式运用共享技术有效地支持大量细粒度的对象。
享元模式UML图(来自Google图片)
抽象享元(Flyweight)角...
分类:
其他好文 时间:
2015-07-23 23:47:09
阅读次数:
229
之前写过一篇这样的文章,但当时的思路可行性太低,最近又想了想pureMVC的消息机制,灵光一闪,似乎可以基于消息去实现三者。当然和PureMVC没多大关系,那个连UML图都相当复杂首先所有的UI面板通过发送字符串消息来告知,是否触发了解锁检测,tips检测,动画特效。可以理解为这样的接口:Async...
分类:
其他好文 时间:
2015-07-20 21:01:35
阅读次数:
138
一个、概念 简单工厂模式(Simple Factory Pattern)它属于创建模式,又称静态工厂方法模式(Static FactoryMethod Pattern)。可是不属于23GOF设计模式之中的一个。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。二、UML图 简单工厂主要分.....
分类:
其他好文 时间:
2015-07-14 20:17:48
阅读次数:
171
近期的心得,我发现学一门设计模式,无论你能否立马理解它,第一最要紧的是要记住两个东西。1、它是属于什么范畴的设计模式。2、记住UML图。这两个是打开这个设计模式之门的金钥匙。为什么这么讲?由于刚刚学新的设计模式。假设一味的埋头在文字中,思想中,代码编写的样例中,假设你这个设计模式又不是看的非常懂.....
分类:
其他好文 时间:
2015-07-04 08:28:56
阅读次数:
219
环境:EF6.0.0.0+Autofac3.5.0.0+MVC4.0+pure6.0+Jquery IDE:vs2012,数据库:vs2008r2搭建环境如下:我给它取名字为cactus:仙人球,我喜欢的一种植物。UML图如下(https://www.processon.com提供)360云分享项目...
分类:
其他好文 时间:
2015-07-01 23:31:20
阅读次数:
128
享元模式:
使用共享技术有效地支持大量细粒度的对象。
Use sharing to support large numbers of fine-grained objects efficiently.
这个设计模式和它的名字一样核心是为了共享代码。UML图:
主要包括:
FlyWeight:声明了一个接口,通过这个接口所有的FlyWeight能够接受并作用于外部的状态。
ConcreteFl...
分类:
其他好文 时间:
2015-06-30 13:02:12
阅读次数:
137
2015–6-28第一章 消化知识有效建模的要素1. 模型和实现的绑定模型要基于现实的业务,不能和用户现实的业务脱节2. 获得一种基于模型的语言通过一种统一的语言(业务人员和开发人员都能理解的)去描述所建立的模型,如UML图,基于业务的术语,无奇异的,作者的意思是业务人员和开发人员建立基于模型一个沟...
分类:
其他好文 时间:
2015-06-29 23:37:56
阅读次数:
201
命令模式:将一个请求封装成一个对象,从而允许用不同的请求参数化客户,对请求进行排序或记录日志,并且支持撤销操作。UML图:
主要包括:
Command:声明了一个操作的接口
ConcreteCommand:绑定了一个Receiver和一个行为,通过相关联的Receiver对象实现了了execute方法。
Client:创建一个ConcreteCommand对象并且设置了它的Receiver。
in...
分类:
其他好文 时间:
2015-06-27 16:31:52
阅读次数:
116