asp.net mvc用了快两年,最近对于三层和她的关系颇有些困惑,看了一些文章,心生感悟,遂记之。
一家之言,没有参考价值。
view不说了,前台展示的东东,接收客户的操作。
model字面意思,模型。
controller:控制,控制什么呢,流程。就是说接到请求后应该做点什么,应该呈现哪个页面(View),使用哪些数据(Model),这都由他来管。
view和model之间存在之关系,什么关系呢?view需要model来呈现,view也会产生model来供controller来使用。
那么关键问题来了,完整流程是什么呢?
1、用户发起请求,Controller接到了。
2、这是Controller要决定下一步做什么。关键就在这里了,如果是比较大的项目,就要考虑使用三层结构来解耦。三层的BLL,DAL就要在这里Controller里体现。如果只是小的项目就没必要了,可以直接访问数据库。
3、完成第2步后就可以呈现新的view了,这里使用的model可以称为view model,这只是一种逻辑上的叫法,并不意味着他不可以是实体模型。
需要说明的是为什么没有提三层中的UIL呢?其实只要是使用了MVC,天然的就已经将数据和UI和数据分开了(MVC产生的目的就是为了数据和UI解耦)。
请高手批评批证。
时间: 2024-11-07 13:08:28