Objective C 之 基础设计模式 (Delegate)

来源:互联网 发布:保定软件技术学院电话 编辑:程序博客网 时间:2024/05/22 02:09

objC开发中有四个基础的设计模式,分别是:Delegate,MVC,Target-controll和managed memory model。

MVC估计大家都比较熟悉,就不多说了。Delegate是MAC平台颇有特色的一个模式,在Cocoa框架中应用很广泛,这里先着重说明一下。

Delegate模式顾名思义,就是两个对象之间的代理关系。形象地说,即某个对象不愿意自己去干一件事,而是委托另外一个对象作为自己的代理,来做这件事,代理对象把结果返回给委托者对象。一个对象可以拥有多个代理。

下面用一个例子进一步说明了这个关系,这个是 Cocoa教程里的例子:

比 如有一个NSWindow对象,与其代理对象间实现了一个包含叫做windowShouldClose方法的通信协议。当用户点击窗口角上的关闭按钮 时,NSWindow对象向其代理对象发送windowShouldClose消息,询问是否可以关闭窗口?代理对象根据窗口的内容已经保存与否等情况, 向窗口对象返回是否应该关闭的布尔值,据此来控制窗口对象的行为。

 

http://www.devdiv.com/home.php?mod=space&uid=15974&do=blog&id=4080

原创粉丝点击