|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
一下弹出N多页面!很明显,你的留言本并没有做好安全防范,被人用JS代码小小的耍了一下,我很同情你这个时候的感受,但是没有别的办法了,继续努力吧!设计 模子-视图-掌握器(MVC)是Xerox PARC在八十年月为编程言语Smalltalk-80创造的一种软件设计形式,至今已被普遍利用。比来几年被保举为Sun公司J2EE平台的设计形式,而且遭到愈来愈多的利用 ColdFusion 和 PHP 的开辟者的接待。模子-视图-掌握器形式是一个有效的东西箱,它有良多优点,但也有一些弱点。
MVC若何任务
MVC是一个设计形式,它强迫性的使使用法式的输出、处置和输入分隔。利用MVC使用法式被分红三个中心部件:模子、视图、掌握器。它们各自处置本人的义务。
视图
视图是用户看到并与之交互的界面。对老式的Web使用法式来讲,视图就是由HTML元素构成的界面,在旧式的Web使用法式中,HTML照旧在视图中饰演侧重要的脚色,但一些新的手艺已层见叠出,它们包含Macromedia Flash和象XHTML,XML/XSL,WML等一些标识言语和Web services.
若何处置使用法式的界面变得愈来愈有应战性。MVC一个大的优点是它能为你的使用法式处置良多分歧的视图。在视图中其实没有真实的处置产生,不论这些数据是联机存储的仍是一个雇员列表,作为视图来说,它只是作为一种输入数据并答应用户把持的体例。
模子
模子暗示企业数据和营业划定规矩。在MVC的三个部件中,模子具有最多的处置义务。例如它能够用象EJBs和ColdFusion Components如许的构件对象来处置数据库。被模子前往的数据是中立的,就是说模子与数据格局有关,如许一个模子能为多个视图供应数据。因为使用于模子的代码只需写一次就能够被多个视图重用,所以削减了代码的反复性。
掌握器
掌握器承受用户的输出并挪用模子和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,掌握器自己不输入任何器材和做任何处置。它只是吸收恳求并决意挪用哪一个模子构件去向理恳求,然后用肯定用哪一个视图来显示模子处置前往的数据。
如今咱们总结MVC的处置进程,起首掌握器吸收用户的恳求,并决意应当挪用哪一个模子来停止处置,然后模子用营业逻辑来处置用户的恳求并前往数据,最初掌握器用响应的视图格局化模子前往的数据,并经由过程暗示层出现给用户。
为何要利用 MVC
大局部Web使用法式都是用像ASP,PHP,或CFML如许的进程化言语来创立的。它们将像数据库查询语句如许的数据层代码和像HTML如许的暗示层代码混在一同。经历对照丰厚的开辟者会将数据从暗示层分别开来,但这凡是不是很轻易做到的,它需求精心的企图和不休的测验考试。MVC从基本上强迫性的将它们分隔。虽然机关MVC使用法式需求一些额定的任务,然而它给咱们带来的优点是毋庸质疑的。
起首,最主要的一点是多个视图能同享一个模子,正如我所说起的,如今需求用愈来愈多的体例来会见你的使用法式。对此,个中一个处理之道是利用MVC,不管你的用户想要Flash界面或是 WAP 界面;用一个模子就可以处置它们。因为你已将数据和营业划定规矩从暗示层分隔,所以你可以最大化的重用你的代码了。
因为模子前往的数据没有停止格局化,所以一样的构件能被分歧界面利用。例如,良多数据能够用HTML来暗示,然而它们也有能够要用Macromedia Flash和WAP来暗示。模子也有形态办理和数据耐久性处置的功效,例如,基于会话的购物车和电子商务进程也能被Flash网站或无线联网的使用法式所重用。
由于模子是自包括的,而且与掌握器和视图相分别,所以很轻易改动你的使用法式的数据层和营业划定规矩。假如你想把你的数据库从MySQL移植到Oracle,或改动你的基于RDBMS数据源到LDAP,只需改动你的模子便可。一旦你准确的完成了模子,不论你的数据来自数据库或是LDAP办事器,视图将会准确的显示它们。因为应用MVC的使用法式的三个部件是互相对峙,改动个中一个不会影响其它两个,所以根据这类设计思惟你能机关优秀的松巧合的构件。
对我来讲,掌握器的也供应了一个优点,就是可使用掌握器来联接分歧的模子和视图去完成用户的需求,如许掌握器可觉得机关使用法式供应强无力的手腕。给定一些可重用的模子和视图,掌握器可以依据用户的需求选择模子停止处置,然后选择视图将处置了局显示给用户。
MVC的弱点
MVC的弱点是因为它没有明白的界说,所以完整了解MVC并非很轻易。利用MVC需求精心的企图,因为它的外部道理对照庞杂,所以需求消费一些工夫去思虑。
你将不能不消费相当可不雅的工夫去思索若何将MVC应用到你的使用法式,同时因为模子和视图要严厉的分别,如许也给调试使用法式到来了必定的坚苦。每一个构件在利用之前都需求经由完全的测试。一旦你的构件经由了测试,你就能够毫无忌惮的重用它们了。
依据我团体经历,因为咱们将一个使用法式分红了三个部件,所以利用MVC同时也意味着你将要办理比之前更多的文件,这一点是不言而喻的。如许仿佛咱们的任务量增添了,然而请记住这比起它所能带给咱们的优点是何足道哉。
MVC其实不合适小型乃至中等范围的使用法式,消费大批工夫将MVC使用到范围并非很大的使用法式凡是会得失相当。
MVC是一条创立软件的好路子
MVC设计形式是一个很好创立软件的路子,它所倡始的一些准绳,像内容和显示相互分别能够对照好了解。然而假如你要隔离模子、视图和掌握器的构件,你能够需求从头思虑你的使用法式,特别是使用法式的构架方面。假如你肯承受MVC,而且有才能敷衍它所带来的额定的任务和庞杂性,MVC将会使你的软件在强健性,代码重用和布局方面上一个新的台阶。
模仿的不光是模仿,模仿的同时在加改进,就成了自己的作品了。 |
|