----------------------java培训、Android培训、IOS培训、.Net培训期待与您交流!----------------------
不管创建iOS的哪种类型的应用程序,有几个基本的设计模式和技术在写代码前必须你必须知道。在IOS,系统框架为应用程序提供了最重要的基础设施,在大多数情况下,只能通过系统框架来调用底层的硬件。反过来,框架也使用了很多特别的设计模式,开发应用程序前,我们是假设你很熟悉这些设计模式的。要知道系统怎么支持应用程序的,那就得先理解这些设计模式,这非常重要。
你必须知道的最重要的几种设计模式:
Model-View-Controller -----这个设计模式是所以IOS程序的主要架构:
模型-视图-控制器(MVC)模式将您的代码分割为几个独立的部分。模型部分定义应用程序的数据引擎,负责维护数据的完整性;视图部分定义应用程序的用户界面,对显示在用户界面上的数据出处则没有清楚的认识;控制器部分则充当模型和控制器的桥梁,帮助实现数据和显示的更新
Delegation----这个设计模式有助于一个对象的数据传输到另一个对象:
委托模式可以对复杂对象进行修改而不需要子类化。与子类化不同的是,您可以照常使用复杂对象,而将对其行为进行修改的定制代码放在另一个对象中,这个对象就称为委托对象。复杂对象需要在预先定义好的时点上调用委托对象的方法,使其有机会运行定制代码。
delegation 通过protocol实现。
Target-action----这个设计模式用按钮,等控件把用户的交互变成代码,让程序可以执行:
控件通过目标-动作模式将用户的交互通知给您的应用程序。当用户以预先定义好的方式(比如轻点一个按键)进行交互时,控件就会将消息(动作)发送给您指定的对象(目标)。接收到动作消息后,目标对象就会以恰当的方式进行响应(比如在按动按键时更新应用程序的状态)。
Block objects ----用blocks去实现回调和异步
Sandboxing---所有的iOS应用程序是放在一个沙盒的,这是为了保护其他应用程序和系统的安全。沙盒的结构影响应用程序文件的放置,数据的备份。还影响其他程序的一些功能。
由于安全的原因,iPhone OS将每个应用程序(包括其偏好设置信息和数据)限制在文件系统的特定位置上。这个限制是安全特性的一部分,称为应用程序的“沙箱”。沙箱是一组细粒度的控制,用于限制应用程序对文件、偏好设置、网络资源、和硬件等的访问。在iPhone OS中,应用程序和它的数据驻留在一个安全的地方,其它应用程序都不能进行访问。在应用程序安装之后,系统就通过计算得到一个不透明的标识,然后基于应用程序的根目录和这个标识构建一个指向应用程序家目录的路径。