IOS开发入门之设计模式

来源:互联网 发布:淘宝客助手安卓版 编辑:程序博客网 时间:2024/05/22 13:31

 原文地址:https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOS/DesignPatterns.html#//apple_ref/doc/uid/TP40011343-CH5-SW1

      设计模式解决一些常见的软件工程问题。模式是抽象的概念,而不是代码。当你采用一种设计模式时,使其一般模式适应你的特定需求。不管你创建的是什么类型的应用,它都是基于使用框架之中的基础的设计模式。了解设计模式,可以帮你更加有效地使用框架和写出可重用的、扩展性强的和易维护的应用程序。


MVC

       Model-View-Controller(MVC) 是任何一个ios应用的核心设计模式。MVC在一个APP里有三个角色:model、view、controller。在这个模式,model与你的app数据相关联,view是显示你的用户界面和组成一个app的内容,而controller是管理你的view。在响应用户的操作和填充视图的内容之前,controller为model和view间的通信提供了通道。

image: ../Art/ModelViewController_2x.png


Target-Action

        Target-Action是一个简单的设计模式:当一个特定的事件发生时,一个对象发送一条消息给另一个对象。这action消息是选择已经在源代码中已经定义过的,而target是接收这条消息的对象,这个对象是可执行的action,通常是一个view的controller。发送action消息的对象通常是一个控制器,例如button、slider或switch,它们可以触发一个事件响应用户的交互,如按、拖曳或值的修改等。

        例如,假设你想在你的app里无论何时当用户点击RestoreDefault按钮(在你的界面里创建一个按钮)时,就恢复默认设置。第一,你实现一个action,restoreDefaults:执行恢复默认设置的逻辑。接下来,你注册button里Touch UP的内部事件,发送restoreDefault:方法给视图控制器的实现方法。

image: ../Art/target_action_2x.png


Delegation

        Delegation是一种简单且强大的模式,是用于一个对象在app行为里的代表或协调另一个对象。这个委派对象时刻保持对其另一个对象的引用,委派对象会在适当地时候发送消息给它。消息通知委派对象处理或已经处理的委派事件。委派可以通过消息响应更新app里的自己或其他对象的外观或状态,在某种情况下,它会返回一个值,会影响即将发生的事件。

image: ../Art/delegation_2x.png

        Delegation在框架类里普遍存在,但是你可以在app里实现两个对象之间的委派关系。常见的设计是子视图控制器使用委派实现与父视图控制传递一些值(如用户输入的值)。

0 0
原创粉丝点击