|
发表于 2009-10-2 09:41:33
|
显示全部楼层
第二视图与控制器间的连接过于紧密
视图与控制器是分离,又是紧密相连的组件。这种关系就妨碍了单个组件的可重用性。想想看在codeigniter中写的视图层,大多是针对 controller层来写。如果如果换了controller,你写的那个视图还可以很方便的重复利用吗?有的人说可以。当然你又得去改写匹配新的控制器的视图了。因为除了那些只读的视图(即不参与数据交互的那些视图),视图离开控制器,它的使用就很有限
第三。数据访问的低效率
这里我想大家很容易想像出来,还是结合codeigniter,我们现在写好了一个view,现在这个view需要再调用其他新的数据。这时它又必须依赖与model层的操作接口,再转向controller这样多次调用才能得到你想要的数据。试想如果系统的更新非常频繁,对于一些为改变数据的不必要的重复请求,将恶化系统的功能。这里提高一个改进的方法,就是在视图层设置数据缓冲。
-------->个人觉得是楼主对MVC的理解不是很正确,VIEW依赖controller多次调用mode去做事情这个逻辑不是很正确。
流程控制逻辑和数据在controller里面实现,准备好所有数据,给view show,view只负责结合controller送来的数据show的事情
这样子就不存在2,3的问题了 |
|