MVC(Model-View-Controlle孩型程仅细已热r,模型—视图—控制器模式)用于表示一种软件架构模式。它把软件系360问答统分为三个基本部分:质施战充模型(Model),视图(View)和控制器(Controller)。
MVC由TrygveReenskaug提出,研湖帝防占间乙支放是XeroxPARC在20世纪80年代为程序语言Smalltalk-8歌还0发明的一种软件设计模式。模型—视图—控制器模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外此模式通过对复杂度的简化使程序结构更加直观。软件系统通过对自身基本部份分离的同时也赋予了各个基本部分应有的功能。专业人员可以通过自身的专长分路视互物好远组:
控制器-程序员编写程序应有的功能(实现算法等等)
视图-界面设计人员进行图形界面设计
模型-数据库专家进行数据管理和数据库设计
模型(Model)“数据模型”(Model)用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。“模型”有对数据直接访问的权利,例如对数据库的访问。“模型”不依赖“视图”和“控制器”,也就是说,模型不关心它会被如何显示或是如何被操作。但是模型中数据的变化一般会秋深青电轴分通过一种刷新机制极诉武分在南到至成英被公布。为了实现这灯解苦排能好失受统叫种机制,那些用于监视此令古夜模型的视图必须事先在此模型上注册,从而,视图可以了解在数据模型上发生的改变。(比较:观察者模式(软件设计模式)怕式训队升者免丝)
视图(View)视图层能够实现数据有目的的显示(理论上,这不是必需的)。在视图中一般没有程序上的逻辑。为月谁式测夜洲了实现视图上的刷新功能,论北氢老则女干视图需要访问它监视的数据模型(Model),因此应该事先在被它监视的数据那里注册。
控制器(Controller)控制器起到不同层面间的组织作用,用于控制应用程序的流程。它处理事件并作出响应。“事件”包括用户的行为和数据模型上的改变。