<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[帮助跟我一样的小鸟理解MVC]]></title> 
<author> &lt;&gt;</author>
<category><![CDATA[生活笔记]]></category>
<pubDate>Tue, 26 Sep 2006 08:42:03 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	可能刚接触面向对象（OOP）编程的兄弟对MVC模型一直是那种可遇而不可求的心态，当听老鸟们在那满天吐沫星子的谈论MVC模型的这个好那个好，自己只有瞪着俩眼珠子在那傻傻的听着，或许听完了还不知道是怎么回事，下面就小弟的一些拙见来帮助这些兄弟们理解一下到底MVC是咋回事。。。<br/><br/>那到底啥是MVC设计模式呢？<br/>MVC （Model-View-Controller）模式，即模型-试图-控制器模式，其核心思想是将整个程序代码分成相对独立而又能协同工作的3个组成部分，具体的功能如下：<br/>模型（Model）： 业务逻辑层。实现具体的业务逻辑、状态管理的功能。<br/>视图（View）：表示层。就是与用户实现交互的页面，通常实现数据的输入和输出功能。<br/>控制器（Controller）：控制层。起到控制整个业务流程的作用，实现View层跟Model层的协同工作。<br/><br/>看到这儿，可能有些兄弟已经皱眉头了，心里在不住地说“操，你整这玩应也太抽象了，要是能看懂你这个，那书上写的我也能看懂了，你要是想玩死我，你Y就早说！！~~”，嘿嘿，别着急，下面我就举个实际的例子来帮助大家继续理解。<br/><br/>这个MVC设计模式呢，有点像现实中我们去饭店吃饭的过程。当你到一个饭店吃饭，过程是这样的，首先你得点菜啊，不用喊，一个光溜水滑，埋了八汰的小服务员就会整个小本来你面前，“先生，你来点啥？”，你看看菜谱，“给我整个小盘鱼香肉丝，再加一碗米饭。”“好的，先生稍等。”说着服务员一溜小跑朝后厨方向，“那啥。。。告诉厨师别放姜啊！~~”。。。带会儿，服务员就把你要的饭菜给你端上来了，“先生请慢用~~有啥需要帮忙的，尽管喊我。”你吃的狼吞虎咽的，根本不知道里面放的青椒妈的都没洗~~~<br/><br/>就这么一个简单的你要饭的过程就可以用MVC将其描述一下，你呢就相当于View，服务员呢就相当于Controller，而那个不洗青椒的该死厨师就是Model。你一开始跟服务员点菜，就相当于我们的浏览器向服务器发出请求，服务员将你要吃的菜交给后厨的师傅，就相当于控制层将浏览器发过来的请求交给业务逻辑层来处理，而它根本不管厨师到底咋做这个菜，反正你能给我鼓捣出一盘鱼香肉丝就成，青椒洗不洗那是他的事，这也就是我们常从老鸟口中听到的“封装”，封装好啊，封的你连青椒没洗的鱼香肉丝都能吃的喷香，嘻嘻~~当服务员把一盘冒着热气的鱼香肉丝端到你面前的过程，就相当于业务逻辑层处理完后把相应传回给浏览器，然后通过浏览器显示给用户。这样就实现了一个简单的MVC协调交互，也不知道你明白点没有。。。<br/><br/>可能有的兄弟又要说了，“你讲MVC你就讲呗，整啥点菜啊，我昨天才吃的鱼香肉丝，现在都有点想吐啦！！讨厌~~~”，下面就给兄弟们说说在实际项目中应该咋应用这MVC。<br/><br/>就拿一个简单的登陆模块说，需求是你输入一个用户名、密码，如果输入的跟预先定义好的一样，那么就进入到正确页面，如果不一样，就提示个错误信息“你Y别在这儿蒙我，输入的不对！”。<br/><br/>这个小小的模块中，起始的输入用户名密码的页面跟经过校验后显示的页面就相当于View，而这里还需要一个controller页面，就是用于接收输入进来的用户名 密码，还有经过校验后返回的一个flg（此flg就是用于判断你输入的是否正确，而跳转到相应的页面的），最后还缺一个Model，那么就是你那个用于校验的类了，他就是处理你输入的是否跟预先订好的一样不一样的，之后返回一个flg。这样就完全实现了逻辑跟页面的分离，我页面不管你咋整，反正我就一个显示，而controller呢也不管你Model咋判断对不对，反正我给你了用户名跟密码，你就得给我整回来一个flg来，就跟服务员根本不管厨师青椒洗不洗一样，而Medol呢，则是反正你敢给我个用户名跟密码，我就给你整过去个flg~~如果看到这你有点茅塞顿开了，待会就试验着写写吧！！<br/><br/>以上就是小弟的一些不成熟的理解，也是小弟对MVC设计模式理解的一些心得吧，可能有些地方不够准确，也欢迎老鸟们批评指正，衷心的希望这篇小文儿能对刚刚接触MVC兄弟有所帮助！！<br/><br/>注：这里没有提到到底是用java还是php，也没有实际的代码例子，我想只要真正理解了这个过程，代码上应该不成问题地~~ <br/>
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] 帮助跟我一样的小鸟理解MVC]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>