「已注销」 2016-11-28 07:19 采纳率: 77.4%
浏览 1136
已采纳

UI层的mvc模式,c#asp.net问题

为什么ui层要使用mvc模式?这跟普通的一个页面,对应一个后台.CS文件有什么区别?和好处?

  • 写回答

1条回答

  • Acinek 2016-11-28 17:24
    关注

    其实楼主问到这个问题不好回答:
    首先这个MVC就有点不好理解,先说广义上的MVC:
    这是一种开发模式:
    M:Model(实体层)
    V:View(视图层)
    C:Control(控制层)
    Model层里放置实体类 View里放置前端页面(HTML) Control:放置控制业务逻辑的类
    它的好处是:逻辑清晰结构严谨,便于维护(我估计这句话不好理解,网上一搜都会这样说)下面举个例子:
    一个学生管理系统:有添加学生的功能 修改学生信息的功能 删除学生信息的功能 查新学生信息的功能
    我们在做的时候会怎样实现呢MVC方式下:
    Control:负责连接数据库,以及管理学生的逻辑方法
    Model:学生信息对象(实体类)
    View:页面 主要由HTML代码实现视图效果,比如输入框
    这样我们在插入数据的时候就会找到Control层里的类 然后编写里面的方法

    普通的一个页面,对应一个后台.CS文件方式下:
    由于每个页面对应一个cs文件 所以完成一个功能的时候
    这个cs文件里面分别要写
    1.接收用户输入数据的方法
    2.这个cs文件里面要有一个实体类,也就是说这个cs文件里面有两个类,一个类是实体类A,另一个类是写逻辑代码的类B
    3.在写逻辑代码的类B中,你还要写访问数据库的方法(也可能出现第三个用来访问数据库的类C)
    那我们知道第3点中 几乎每个CS文件里面都会写一个访问数据库的方法或者说类,那我们可不可以把他提出来,封装成所有CS文件都能用的公共类呢。
    当然是可以的,于是我们把他提出来,这样每个cs文件都只需要实例化一下这个类就能访问数据库,这时候我们又发现,每个cs文件里面都有两样东西
    一样是实体类,一样是控制逻辑代码的类,我们要修改它就得先找到这两个类,如果其中一个类的方法过多 或者实体类的属性字段过多就会造成很久都找不到想要的东西的现象,于是有人提出,所有的实体放在一起,这样就便于维护了,这就是MVC形成的由来

    其实MVC是广义上的叫法,显得就有些抽象,其实在.NET里面我们更多会有看起来是四层的结构
    1:View:视图层(大部分代码是HTML代码)
    2:Model:实体层(所有实体对象放在这里,什么又叫做实体对象:老师通常说万物皆对象,起初我不理解,初学者可以把数据库里的每张表想作实体对象)
    3:BLL(全名:Business Logic Layer):业务逻辑层,数据层的操作,对数据业务逻辑处理
    4:DAL(全名:Data Access Layer):数据访问层,通常拿来连接数据库的层,这里面写对数据进行操作的方法

    他们存在的形式为C#的类库(楼主可以了解一下)

    我怕讲多了楼主听不懂就不看了,就讲到这把,还有什么不懂的就问百度了 尤其这些专业术语
    为了这一分都比得上我高中写作文凑800字的感觉了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站