Cocoa
使用了一种修改版本的MVC格局来处理GUI的突显。MVC形式(自一九七九年以来)已经面世相当长日子了,它皆在分别展现用户界面所需的大方职分,并拍卖用户交互。正如名称所蕴藏的,MVC具有多少个重点部分,Model(模型)、View(视图)和Controller(控制器):

  • 模型——模型是特定于天地的数量表现方式。比如说,大家正在成立3个任务列表应用程序。你大概会有3个Task对象的聚集,书写为List<Task>。
    你大概把这个数据保存在数据库、XML文件,或然甚至从Web
    Service中收获,可是MVC不那么关切它们是在何处/如何来始终如1保存的(乃至它们是怎么着)。相反,它更加注意于怎样显示这么些多少,并拍卖与用户交互的,好的模型类不包蕴别的有关用户界面包车型地铁剧情,能够在多个应用程序中利用。
  • 视图——视图代表了数量如何实际地显示出来。在大家这一个只要的职务应用程序中,会在二个网页(以HTML的点子)中来展现那些职分,也会在一个WPF页面中(以XAML的方法)来体现,恐怕在三个索爱应用程序中显示为UITableView
    。如若用户点击有个别职责,要删减之,那么视图平常会接触3个事变,或对Controller(控制器)实行贰个回调,好的视图类是通用类,能够在七个利用中接纳。
  • 控制器——控制器是模型和视图间的粘合剂,负责控制总体应用的流水生产线。控制器的指标就是得到模型中的数据,告知视图来展现。控制器还侦听着视图的轩然大波,在用户选中一个义务来删除的时候,控制着职责从模型中去除。

经过分离展现数据、持久化数据和拍卖用户交互的天职,MVC格局有助于创立易于精晓的代码。而且,它助长了视图和模型的解耦,以便模型能被选定。例如,在您的应用程序中,有七个界面,基于Web的和WPF的,那么你能够在两边中都选择相同的模子定义代码。

由此,在无数MVC框架中不管具体的工作措施怎样,基本原理都大约如此的。可是,在Cocoa(及Cocoa
Touch)中,照旧或多或少有所差异,苹果用MVC来表示Views(视图)、View
Controller(视图控制器)和Models(模型);可是在分化的控件中,它们却不是完全1致的,达成的形式也不太1致。

XML,在Objective-C/Cocoa的世界里,大家树立的controller平时是指应用程序(Application)的寄托(Delegate),只怕能够简简单单称做app
delegate。当你在Objective-C里面建立三个app
delegate的时候,那一个delegate能够做为你具备model和view的controller,或许你也足以为不一样的model和view分别创立controller。

具体能够参照下上面包车型地铁始末:

MonoTouch中的MVC简介

相关文章

网站地图xml地图