【iOS】开发入门之设计模式

35 篇文章 0 订阅
7 篇文章 0 订阅

 原文地址: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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值