我想知道我既然用了三层
UI BLL DAL MODEL
那么我可以直接在UI引入DAL然后不经过MODEL传值直接进行数据库操作吗?有的时候我认为一些简单的东西没必要经过这么多层弄的这么复杂.但今天有人说如果我那样做是不对的。必须经过BLL,DAL,MODEL
要不我这样做三层只是一个空架子了。我感觉反复用的那样.偶而用的没必要这么麻烦吧本人基础比较差忘高手给解释一下。

解决方案 »

  1.   

    还有UI层前台代码显示后台读取的字符串的时候应该用
    LABER还是全局变量?
      

  2.   

    那么我可以直接在UI引入DAL然后不经过MODEL传值直接进行数据库操作吗? 
      可以的 但是不规范 Model是用来对数据进行规范的按照你的说话 BLL也不需要了 只需两层  UI  和DAL  可以
    只不过是 将数据访问 单独写在一个类中
      

  3.   

    我认为没有业务逻辑的话,直接删除BLL层,但是Model是必不可少的。
    举个实际中碰到的例子吧。
    需求是:从数据库中取product表,显示到页面上,包括productName(产品名),createdTime(添加时间)。
    createdTime是DateTime类型,现在要显示中文时间,要对数据操作后再绑定。
    如果没有Model,那么就使用DAL返回DataTable给UI,之后呢?遍历DataTable的createdTime这个列,改成中文时间后绑定。
    有Model,UI可以遍历List<product>,或者product[]之类,这样是不是更方便一点呢?
    不要小看这一点点的方便,当一个项目扩大的时候,一点点方便就变成了大大的方便,而且用Model也比DataTable更容易理解,
    增加了代码的读、维护性。
    如果用.net framework3.5就更爽了,不用改变领域模型,呵呵
      

  4.   

    这里有一篇文章是对ASp.net 剖析三层架构
    的文章,你可以看看,感觉还不错,希望对你有用http://www.csdnit.com/showtopic-327.html