设计模式解决了一个通用的软件工程问题。图案是抽象的设计,而不是代码。当你采用的设计,你适应它的一般模式,以您的特定需求。无论您正在创建什么类型的应用程序,这是很好的知道,在框架中使用的基本的设计模式。了解设计模式可以帮助您更有效地使用框架,并允许你编写更可重复使用,更可扩展的,易于修改的应用程序。
MVC
模型 - 视图 - 控制器(MVC)是中央的一个很好的设计对于任何iOS应用。 MVC的分配在一个应用程序中的对象的三个角色之一:模型,视图或控制器。在这个模式中,模型跟踪你的应用程序的数据,视图显示您的用户界面和弥补一个应用程序的内容,和控制器管理您的观点。通过响应用户操作和填充有内容的视图,控制器作为模型和视图之间的通信的网关。
正如你已经建立你的todolist的应用程序,你已经按照一个MVC为中心的设计。你建在故事板界面构成了视图层。 XYZAddToDoItemViewController和XYZToDoListViewController是管理你的视图控制器。在下面的教程中你会被纳入一个数据模型,在您的应用程序的视图和控制器的工作。当你开始设计自己的应用程序,它重要的是要保持在MVC的设计中心。
目标 - 动作(Target-Action)
目标 - 动作是在哪一个对象发送一个消息给另一个对象在特定事件发生时在概念上简单的设计。动作消息是在源代码中定义的选择器,并接收该消息是一个对象,能够执行该操作,通常是一个视图控制器的目标的对象。发送动作消息的对象通常是控制诸如按钮,滑块,或开关,可以响应于用户交互,例如点击,拖动,或值的变化触发一个事件。
例如,假设您希望每当用户点击恢复默认按钮(你在你的用户界面中创建)来恢复默认设置在你的应用程序。首先,您需要实现一个动作,restoreDefaults:执行逻辑恢复默认设置。接下来,您注册按钮的触摸里面的事件发送,restoreDefaults:操作方法来实现该方法的视图控制器。
你已经使用过目标 - 动作在你的todolist的应用程序。当用户点击完成按钮在XYZAddToDoItemViewController,它触发unwindToList:行动。在这种情况下,完成按钮是在发送消息时,目标对象是XYZToDoListViewController,动作消息是unwindToList对象:,和触发动作消息将被发送的是一个用户敲击完成按钮事件。目标 - 动作是一个强大的机制来定义交互和您的应用程序的不同部分之间发送信息。
委托(Delegation)
委托是指在一个应用程序的一个对象行为代表的,或与另一对象协调一个简单而强大的图形。该委托对象保持一个参考对象,委托和其他适当的时候发送一个消息给它。该消息通知一个事件,委托对象将要处理或刚刚办理的委托。该委托可能响应该消息通过更新的其他对象的本身或在应用程序的外观(或状态),并且在某些情况下它会返回一个值,该值会影响即将发生的事件被处理。
委托模式是流行在现有框架类,但你也可以实现在一个应用程序的两个自定义对象之间的代表团。一个常见的??设计采用代表团为使子视图控制器到某一值时(通常是用户输入的值)传达给它的父视图控制器的一种手段。
你还没有使用过委托但在下面的教程,你会看到它的一个例子,当你添加额外的行为,你的XYZToDoListViewController类。
这些都是一些的,你会的iOS开发过程中遇到的最常见的设计模式,但也有许多。当你了解更多关于Objective-C中,你会发现其他的设计模式,你可以在你的应用程序应用。
这篇文章其实写的不怎么样,我也没有好好地翻译,之前我写过一篇解释者三种的文章比这个写的好多了http://blog.csdn.net/suifengerbi/article/details/17512175。