当前位置:编程学习 > C#/ASP.NET >>

MVC架构小问!

问题1 .在MVC多层架构设计中,M与数据库中的表映射.但有时需要提取的是数据库中的视图,而不是单张表,请问,视图问题应该怎么处理,需不需要也做个映射.


问题2.同样在多层架构中,在数据库中存储的可能只是一个标识符,在前台显示实际的内容,比如:在数据库中有这样一个字段 1,表示学生,2,表示老师.等..在数据库存的只是1.2.....但在前台显示是是学生\老师等..请问在多层架构中这种事情一般是怎么处理的.

谢谢! --------------------编程问答-------------------- 这个我感兴趣。看过petshop4.0后,就有这样的疑惑,Model层与数据库是完全映射的。比如我的Product表里有个CategoryID与Category表关联,但是我的UI层要求显示Product信息时显示它所属的Category类别,怎么做呢?是在Model对象里设计CategoryName这个属性,在创建对象时就进行多表查询?还是就完全映射,等到需要时,再通过如:GetCategoryName(product.CategoryID)这样的方法来取CategoryName?前者不能完全映射,后者则会牺牲性能,并且两种方法似乎都有麻烦的地方。不知是否有好的解决方案。 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 楼主的问题和架构本身没有什么关系.

1.Model并不是数据库里表的映射,可以说和数据库表没直接关系,而应该是相关业务的模型

2.本身在业务或UI根本不关心你的数据库里字段是怎么设计的,用的都是对象和Model --------------------编程问答-------------------- --------------------编程问答-------------------- 层交换使用数据实体对象,可以自己定义交换的对象格式 --------------------编程问答-------------------- --------------------编程问答-------------------- asp.net mvc项目“很怪”,它似乎是从新回到asp、jsp的基础,然后再一步步升级。

在传统的asp.net界面上(以及超过10年历史的windows窗口界面上),我们都是“事件驱动”的。例如在客户端用户录入了许多文本字段信息,在一些checkbox中选择,甚至在下拉列表中选择,在服务器端只要是一处理马上就触发事件。

而asp.net mvc架构目前似乎只让我们处理“一个命令”,就好象windows编程一下子从WinForm回退到Console命令行时代一样。

以微软的实力,这种“偃苗助长”方式未必就不能催生出一个全新的开发平台,只是有可能那个时候整个asp.net已经过时了!(例如让位给silverlight)

但是我觉得还是要等待到asp.net mvc项目组开发一组出至少等价于GridView等全功能的控件时,并证明程序员开发类似的自定义控件明显比原来的asp.net机制下开发自定义控件方便许多是,才好证明它是合适的。

在现在的asp.net机制下,完全可以增加mvc风格。例如强化数据的双向绑定机制,或者增加“故事板”之类的控件,使得只要在aspx或者ascx上简单地声明一下就可以写出酷炫的asp.net程序,尽量不需要在code-behind中写对界面控件进行直接操作的代码。仅需要在一般程序员用到的高级层面提供mvc工具。

而asp.net mvc项目似乎是喜欢在比较低级的层面上去做理想化改造,高级层面的设计问题还没有来得及考虑很全面呢。 --------------------编程问答--------------------
补充:.NET技术 ,  .NET技术前瞻
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,