在实际开发的时候,我们同样的一个对象,对于不同的客户,可能能够调用的方法是不一样的,就是权限的控制,这个时候,对象的方法都应该是public,那么就要给对象加上一层,通过客户的类型,决定是否可以访问,也就是说,客户不直接访问对象,而是访问给对象加上的这一层,就是代理层。public interfac...
分类:
其他好文 时间:
2014-09-09 11:11:38
阅读次数:
184
缓存(Cache)就是一块用来存放数据的内存空间。主要作用是暂存数据处理结果,并提供下次访问使用。
缓存的使用非常普遍,比如,浏览器都会在本地缓存页面,从而减少HTTP 的访问次数。又如服务器系统开发时,设计人员为一些核心的 API 加上缓存,从而提高系统的缓存时间。
最简单的缓存实现可以使用 HashMap 。当然,这样做会有很多问题,如何时清理无效的数据;如何防止缓存数据过多而导致内存溢出等。一个稍好的方案是使用 WeakHashMap,使用弱引用维护一张哈希表,而且可以...
分类:
其他好文 时间:
2014-09-06 18:45:14
阅读次数:
314
协议就像是一个授权合同,比如类A让类B帮自己找租房。但是这个“授权合同”只是一张合同(即有方法),但合同是死的不能自己去找租房(即没有实现),但是类B得到这个授权合同(即引入协议),利用自己有一套如何找房子的方法(即实现这个协议里面定义的那些方法)就能达到一些目的如找到房子。...
分类:
其他好文 时间:
2014-09-06 12:27:53
阅读次数:
169
在iOS开发中常用的参数传递有以下几种方法:采用代理模式采用iOS消息机制通过NSDefault存储(或者文件、数据库存储等)通过AppDelegate定义全局变量(或者使用UIApplication、定义一个单例类等)通过控制器属性传递使用代理方式传递参数的步骤如下:1.定义协议,协议中定义好传参...
分类:
移动开发 时间:
2014-09-04 01:24:17
阅读次数:
196
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式...
分类:
其他好文 时间:
2014-09-02 17:34:55
阅读次数:
285
形象例子: 跟MM在网上聊天,一开头总是“hi,你好”,“你从哪儿来呀?”“你多大了?”“身高多少呀?”这些话,真烦人,写个程序做为我的Proxy吧,凡是接收到这些话都设置好了自动的回答,接收到其他的话时再通知我回答,怎么样,酷吧。代理模式: 代理模式给某一个对象提供一个代理对象,并由代理对象控.....
分类:
其他好文 时间:
2014-09-01 20:52:03
阅读次数:
179
代理模式的类图如下所示: 客户端想调用的是RealSubject,由于某种考虑或原因,只能直接访问到ProxySubject,再由ProxySubject去调用RealSubject,这就完成了一次代理的活动。 代理模式的时序图如下: 从上面可以看出,ProxySubject不仅...
分类:
其他好文 时间:
2014-08-31 18:30:31
阅读次数:
203
协议(protocol): 遵守某个协议,只要遵守了这个协议,相当于拥有协议里面的所有方法声明声明一系列方法编译器不强求实现协议里所有的方法分类和协议都只能声明方法,不能声明成员变量NSObject是基协议假设一个人要买票,但是他没有空,需要一个代理去帮他问问票价多少啊,还有几张票啊~协议Ticke...
分类:
其他好文 时间:
2014-08-31 01:36:20
阅读次数:
174
java动态代理(JDK和cglib)JAVA的动态代理代理模式:代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象..
分类:
编程语言 时间:
2014-08-29 02:58:37
阅读次数:
247
【1】什么是代理模式? 为其他对象提供一种代理,并以控制对这个对象的访问。【2】代理模式代码示例:示例代码: 1 #include 2 #include 3 using namespace std; 4 5 class SchoolGirl 6 { 7 public: 8 strin...
分类:
其他好文 时间:
2014-08-28 21:09:46
阅读次数:
175