ios basic 2.1 Using design Patterns

a design Pattern 通常解决的是软件工程师的问题,Patterns是抽象的设计,而不是code.当你采纳一个design pattern时,你改变它本身有的pattern去满足你自己的需要。

无论你的app类型是什么,了解framework里面的基本的design patterns都是有益的,懂得设计模式将会帮助你用framework时更加的高效,你写的app的可重用性就越高,就更容易扩展,更容易去维护。

MVC(Model- view - controller)

MVC可以说是任何app的核心,MVC把一个app中的objects分成三个roles:model view and controller,在MVC这种pattern中,model记录你的app的数据,view显示user interface和组织app的content.controller 对views进行管理。controller作为model 和views之间的交流桥梁,对用户的行为作出响应并用content填充views

Target action:

target action在概念上非常简单,他就是当某个特定的事件发生的时候,一个object对另外一个object发送message.

the action message 是一个定义在source code 中的selector

the target(接受message的对象)是一个对象执行这个action的能力,target通常是view controller

发送信息的对象通常是一个control,比如buttons,slider,这些对象都能对用户的行为作出响应并触发events.

比如你要恢复一个app的default settings,你需要tap在interface中 恢复buttons,然后这个buttons触发event:send message to view controller,然后,view controller用预先定义好这个event所对应的的source code去handle这个event,set app 到默认的settings.

在ToDoList app中,用到了Target action,在这个case中,Done button 就是发送message的对象,the target object就是ToDoListViewController,the action message就是unWindToList:,而用户tap 这个Done button就触发了event.

Delegation:

delegation是一种simple并且powerful pattern,用delegation,一个对象可以依靠或者与另一个对象进行合作去达成某个purpose;

委托对象占有对另外一个对象的引用,委托对象在合适的时候发送message给另外一个对象,message告诉这个对象,委托对象对委托的event将要handle或已经handle了。然后接到message的这个对象,将作出一些响应,比如更新他自己的appearance或者对app中的别的对象进行操作

通常他将返回一个值,这个值将affect即将发生的事怎样去handle.

delegate pattern在已经存在的framework class中使用频繁,但是你也可以在两个custom object之间实现delegate,通常用户的delegation就是一个subview controller传送value到他的parent controller.

design pattern有许多,但这三类用的最多,在后续中你将会用到更多的design pattern.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值