MVC模式-Model-View-Controller-(模型-视图-控制器)
⼀、(Model View Controller)
MVC是⼀种设计典范。它是⽤⼀种业务逻辑、数据与界⾯显⽰分离的⽅法来组织代码,将众多的业务逻辑聚集到⼀个部件上,在需要改进和个性化定制界⾯及⽤户交互的同时,不需要重新编写业务逻辑,达到减少编码的时间。
MVC开始时存在于桌⾯程序中的,M是指业务模型-V是指⽤户界⾯-C是指控制器。
⼆、页⾯中MVC的作⽤
在于将M和V的实现代码分离,从⽽使同⼀个程序可以使⽤不同的表现形式
V)view视图:是指⽤户看到并与之交互的界⾯。
⽐如由html元素组成的⽹页界⾯,或者软件的客户端界⾯。MVC的好处之⼀在于他能为应⽤程序处理很多不⽤的视图。在视图中其实没有真正的处理发⽣,它只是⼀个作为输出数据并允许⽤户操纵的⽅式。
M)model模型:是指模型表⽰业务规则。
在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中⽴的,模型与数据格式⽆关,这样⼀个模型能为多个视图提供数据,由于应⽤与模型的代码只需写⼀次就可以被多个视图重⽤,所以减少了代码的重复性。
C)Controller控制器:
是指控制器接收⽤户的输⼊并调⽤模型和视图去完成⽤户的需求,控制其本⾝不输出任何东西和任何处理。它只是接收请求并解决调⽤哪个模型构建去处理请求,然后再确认⽤哪个视图来显⽰返回的数据。
⽤户⾸先在界⾯中进⾏⼈机交互,然后请求发送到控制器,控制器根据请求类型和请求的指令发送到相应的模型,模型可以与数据库进⾏交互,进⾏增删改查操作,完成之后,根据业务的逻辑选择相应的视图进⾏显⽰,此时⽤户获得此次交互的反馈信息,⽤户可以进⾏下⼀步交互,如循环。
三、MVC优缺点
1)优点
①耦合性低:视图层和业务层分离,这样就允许更改视图层代码⽽不⽤重新编译模型和控制器代码,同样,⼀个应⽤的业务流程或者业务规则的改变只需要改动MVC的模型层即可。因为模型与控制器和视图层相分离,所以很容易改变应⽤程序的数据层和业务层规则。
②重⽤性⾼:MVC模式允许使⽤各种不⽤样式的视图来访问同⼀个服务器端的代码,因为多个视图能共享⼀个模型,它包括任何
WEB(HTTP)浏览器或者⽆线浏览器(WAP),⽐如,⽤户可以通过电脑也可以通过⼿机来订购某样产品,虽然订购的⽅式不⼀样,但处理订购产品的⽅式是⼀样的。由于模型返回的数据没有进⾏格式化,所以同样的构建能被不同的界⾯使⽤。
③部署快,⽣命周期成本低:MVC使开发和维护⽤户接⼝的技术含量降低。使⽤MVC模式使开发时间得
到相当⼤的缩减,它使程序员(Java开发⼈员)集中精⼒于业务逻辑,界⾯程序员(HTML和JSP开发⼈员)集中精⼒于表现形式上。
④可维护性⾼:分离视图层和业务逻辑层也使得WEB应⽤更容易与维护和修改。
2)缺点
①调试困难:因为模型和视图要严格的分离,这样也给调试应⽤程序带来了⼀定的困难,每个构件在使⽤之间都需要经过彻底的测试。
②不适合⼩型,中等规模的应⽤程序:在⼀个中⼩型的程序中,强制性的使⽤MVC进⾏开发,往往会花费⼤量时间,并且不能体现MVC的优势,同时会使开发变得繁琐。mvc的controller
③增加系统结构和实现的复杂性:对于简单的界⾯,严格遵循MVC,使模型、视图、控制器分离,会增加结构的复杂性,并且可能产⽣过多的更新操作,降低运⾏效率。
④视图与控制器间的过于紧密的连接并且降低了视图对模型数据的访问:视图与控制器是相互分离,但却是联系紧密的部件,视图没有控制器的存在,其应⽤是很有限的,反之亦然,这样就彻底妨碍了它们的独⽴重⽤。
依据模型操作接⼝的不同,视图可能需要多次调⽤才能获得⾜够的显⽰数据。对未变化数据的不必要的频繁访问,也将损害操作性能
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论