2015-03-08-策略模式,署理模式

2015-03-08---策略模式,代理模式

今天主要看了一些关于c++的面试题,具体的就不说了都是些边边角角,平时开发中又很少用的。

还看了设计模式,再次看了那天的策略模式,并且看了代理模式,对设计模式的感觉又深了一层,感觉设计模式的这个东西不是以前自己那么玩的,要深入理解面向对象思想,并且从一个软件设计者的角度来想一些东西怎么样设计的更优雅一点。

先说说策略模式吧,

2015-03-08-策略模式,署理模式

这就是策略模式的uml图了,Strategy就是一个抽象的策略类,下面的就是ConcreteStrategyA,ConcreteStrategyB,ConcreteStrategyC就是具体的策略,

我们把策略共同的部分抽象出来了以后,再创建一个具体和业务相关的Context类,让他来自动选择该调用哪个

策略模式就是一种定义一些列的可供重用的算法。从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同。他可以以想通的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合


2.代理模式

2015-03-08-策略模式,署理模式


代理模式就是一个类是另一个类的代理,我们在外部调用Proxy类,但是Proxy实际上就是代理了RealSubject,真实的调用还是RealSubject,所以这就是一个代理。这个我现在只了解了到这,具体的使用情况如下。

1.远程代理,也就是为一个对象在不同地址空间局部代表。这样可以隐藏一个对象存在于不同地址空间的事实。
2.虚拟代理,是指根据需要创建开销很大的对象。通过他来存放实例化需要很长时间的真实对象。
3.安全代理,用来控制真实对象访问时的权限。一般用于对象应该有不同访问权限的时候。
4.智能引用,是指调用真实的对象时,代理处理另外一些事。


就是在访问对象时引入一种程度的间接性,因为这种间接性,可以附加多种用途。



早点睡觉啦,明天还要6点钟起床,我去刷牙啦,各位看官也早点睡吧