mvc 一个controler 多个view
来源:互联网 发布:组态软件的组成 编辑:程序博客网 时间:2024/05/29 13:51
1.普通意义上的一个controler一个view
2.我要说明的一个controler多个view
3.控制器的作用
视图选择,举个例子:
同样的数据,有时候想显示 表格形式,有时候想显示成图表 (注意:需求不希望2个同时显示),实现方式有3种:
1):多个controler,
每个controler 返回一个view ;controler里面 调用相同的service方法,获得数据(M).
优点:A:controller中不需要判断该去哪个view(每个需求是不同的入口。)
缺点:A:代码逻辑重复(controler中), controler泛滥
2):一个controler一个 view ,
在view中通过if else 控制哪些显示,哪些不显示。
优点:A:controler少,view 少
缺点:A:view 里面有控制显示不显示的逻辑代码,可读性不好,view层本来是用来做表现的,它做了“额外”的工作。B:不同view 要求必须有相似的界面结构,很难满足差异化需求。比如 一个是左右结构,一个是上中(左右)下 结构。这时候view层里的逻辑简直就是灾难。
3):一个controler多个view ,
在controler中通过条件判断该选择不同的view ,每个view 可以从controler 那里拿到相同的数据(M) ,按照自己的风格个性化 呈现。
优点:A:controler 恰当的扮演了 “准备数据” 和 “视图选择” 的 角色。B:视图层没有顾虑只考虑一种情况。C: 不同视图可以天马行空的实现自己的界面布局,彼此之间互不受影响。
缺点:A:view 文件多了,不同view 之间如果有相同的代码,要重复的 写 。
总结 :
i: 复杂的可扩展要求高的应用,推荐采用 3) 这个方案,对于 3)的 缺点 ,可以采用 include 公用文件,或者自定义标签的形式来解决。
ii: 2)与3)的区别还在于 :
2)很多时候是 用条件判断 include 不同的代码,保留相同的代码,不同的代码越多,越乱。 拥抱 “相同的”。
3)相同的代码,要重复的写,相同的越多越觉得重复,修改起来每个view都要改,对于不同的代码这个方案非常欢迎,拥抱“不同的”;
而问题是如果有 10个view 每3个总能找到相同的,而相同的又不同时适用于10个,这时候,这时候 不但 3)方案有点麻烦,2)方案也麻烦。这时候多采用自定义标签,对界面做细粒度的封装 是不错的选择。
出处: http://wentao365.iteye.com/blog/1504108
- mvc 一个controler 多个view
- MVC一个View Post多个Action
- 【ASP.NET自己写MVC框架】2、初步实现MVC的Controler和View
- mvc 跳转到另一个controler
- ASP.NET MVC 初学笔记.2 一个View多个Models的对应
- springmvc 相应静态资源,view-controler-path
- .net mvc controler有哪些返回值
- 一个view设置多个Tag
- 多个Activity通用一个View对象
- 一个view显示多个model(一个页面显示多张表)
- Servlet 和 Struts中的Action属于MVC中的C(Controler)
- Spring MVC Controler层获取errors验证信息 同时返回
- MVC从路由中匹配出Controler的名称
- C#MVC中Controler的自定义属性使用
- 关于MVC View中的一个坑
- 用一个view创建的多个静态分割窗体
- Android在多个Activity之间共享一个View
- 一个view上的多个textfield键盘resignFirstResponder事件
- 各种编程书籍
- Javascript代码规范
- windows程序设计——CreateProcess()
- 程序员面试题精选-翻转句子中单词的顺序[算法]
- JAVA中单例模式讲解
- mvc 一个controler 多个view
- 高性能建站指南URL
- 2010暴强淫才语录。。。
- 装载问题之二
- 条码/RFID标签打印方案
- 使用谷歌浏览器简单的调试网页和脚本
- 【Android布局之【TableLayout(表格布局)】
- 函数对比
- MS-SQL 如何处理嵌套事务