UIKit框架的设计采用了很多和Cocoa程序类似的设计模式。理解这些设计模式对开发iPhone程序非常重要。因此在学习开发iPhone程序前,有必要了解一下iPhone开发中常用的设计模式。
iPhone应用程序中的基本设计模式包括:
- MVC模式(Model-View-Controller)
MVC模式是将你的代码风格成独立的功能模块的良好方法。模型(Model)部分定义了底层数据引擎并负责维护这些数据的整合;视图(View)部分定义了用户界面,它并不知道显示在界面上的原始数据的具体含义;控制器(Controller)部分像是模型和视图之间的一坐桥梁,负责更新它们。
- 代理(Delegation)
代理模式是一种可以不必通过继承却可以改变复合类行为的途径。你可以将你的用于改变复合类行为代码放到单独的代理对象中有复合类来调用,而不必去继承。复合类会调用代理对象中的方法从而给它一次运行自己代码的机会来更改复合类的行为。
- 目标-行动(Target-Action)
控件(Controls)采用目标-行动模式来提醒程序用户的交互。当用户按照预定义的方式与某个控件交互时(例如按了某个按钮),控件会发送一个消息(动作)给指定的对象(目标)。当收到消息时,目标对象根据消息采用相应的方式进行响应(例如更新程序状态来响应按钮点击)。
- 管理内存模型(Managed Memory Model)
Objective-C采用"引用计数"的方式来决定合适清理对象所占的内存。当对象初次创建时,它的引用计数为1。其他对象可以调用改对象的retain, release 或 autorelease方法增加或减少此组件的引用计数。当对象的引用计数为0时,Objective-C运行环境会清理掉该对象所占的内存。