zoukankan      html  css  js  c++  java
  • MAC 开发笔记——Objective C 之 基础设计模式

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

     

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

     

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

     

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

     

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

  • 相关阅读:
    CJB的大作
    OI省选算法汇总
    bzoj1078【SCOI2008】斜堆
    zrt中文题
    bzoj4726【POI2017】Sabota?
    bzoj4591 【Shoi2015】超能粒子炮·改
    bzoj2086【Poi2010】Blocks
    bzoj2091【Poi2010】The Minima Game
    bzoj2038小z的袜子
    bzoj4282慎二的随机数列
  • 原文地址:https://www.cnblogs.com/rolandash/p/1696202.html
Copyright © 2011-2022 走看看