提供资料也有份.
以下是个人理解, 
数据层: 从数据库读取资料(我用的sqlhelper), 一般读一个dataset. 比如用户资料表.
之后自己建立一个类, 形式如:public class user 
    {
        public int Pkid { get; set; } 
        public string Username{ get; set; }
        public string Password{ get; set; }
        //从数据库中提出来的时候,这个是空.
        public string Country{ get; set; }
        //数据库只存入了countryid.
        public string Countryid{ get; set; }
        public DateTime CreateTime { get; set; }
    }之后格式化成 List<user>的形式. 这里数据层就结束了.中间层: 一直没明白.
一般自己是把List<user>中的countryid通过对应的country表. 对应出具体的country字段的名称.填充到List<user>中的country字段上.表现层: 直接用Repeater绑定List<user>输出到页面.但是写入数据库就比较混乱了. 还有就是不定条件查询一般就是数据库拼接了.一般的工具类, 比如验证邮箱地址,ip地址等..要放那一层才能让代码看起来更清晰. 望高手讲解. 

解决方案 »

  1.   


    那个更难理解。楼主的理解是对的,去个三层架构,你愿意怎么做就怎么做。现在都MVC了,你平房跟三层,四层的高度是一样滴!
      

  2.   

    http://www.ie512.com/news.aspx?id=226&no=2http://www.ie512.com/news.aspx?id=225&no=2
    http://www.ie512.com/news.aspx?id=227&no=2看看这个,欢迎留言,不明白可联系我,QQ联系,网站上留下你的Q号就行了,我看到会删除去的,在我没看之前没有人可以看到
      

  3.   

    http://blog.csdn.net/beijiguangyong/archive/2011/03/25/6276785.aspx
    我的博客  希望对你有帮助~
      

  4.   

    中间层我的理解是处理一些逻辑上的问题..比如一条新闻她的title需要加粗..颜色需要加亮..而这些html代码我个人认为应该是在中间层完成这个判断..而不是拿到页面上去处理.页面上处理的可能只是一点简单的衔接.过程
    然后中间层还可以做一些缓存的处理..那些信息需要缓存就缓存起来..已经在缓存中了就直接调用缓存中的数据对象..
    个人的一些理解.现在也在慢慢的学习中..我在做数据层的时候都是不读dataset而是用DbDataReader读然后然后就直接返回IList对象或指定对象..呵呵..
      

  5.   


    中间那层叫什么,业务逻辑层,是实现业务逻辑的。你说的涉及到加粗……的,你要放在BLL里面吗?其实最好分的是数据库接口跟用户界面,这两个分出来了,剩下的不就是中间层吗。元责上不是为了分层而分层,是为了扩展性而分层,为了让你的项目内部各部件依赖性降低而分的。
      

  6.   

    http://en.wikipedia.org/wiki/Multitier_architecture
      

  7.   

    建议了解可以,不要用。现在大都用第三方开源框架和ASP.MVC,三层架构是建立在标准的Asp.Net WebFrom架构上的,效率太低了。
    还不如去学学设计模式,然后用MVC做。我现在做的项目,明年要彻底用MVC重构,正在考虑引入什么.Net三方架构。
      

  8.   


    就是有时简单的感觉用不到三层,我参与过一些都是bll是残废,还是dal层的方法。 - -!我也无语了,不知设设计的是怎么想的。没看过设计模式之类的吧。
    而且更吐血的是一个表,一个model一个dal一个bll - -!
      

  9.   

    为什么要用三层???如果你真正用三层你就会爱上它,因为它的确很好用,分层明确,清晰,易于维护。特别是大型,不用三层,如果一时贪方便将BLL和UI结合,后期维护更新,痛苦的是你。
    对于MODEL模式,其MODEL层,大多数情况都会移出来,而形成三层局势。因为如果不移出来,就会形成文件过大,造成很多不便因素。
    很多情况下,明确知道一点,三层效率会低一点点,的确,但它所带来的好处,是无法替代的。
      

  10.   

    始终纠结于sql字符串拼接的话,你永远都没办法玩3层滴3层核心是对象,对象则直接颠覆sql字符串拼接,虽然EF可以根据语法树延后where语句的拼接查询但是填充和更新都是总体性滴另外工具类就是工具类,他本不该在任何一层,他应该是以静态工具类api形式出现的
      

  11.   

    下个动软的  http://www.maticsoft.com/  
      

  12.   

    1.数据存储层:保存数据的地方,可以是一个关系数据库,XML文件,文本文件或者其他专用的存储系统
    2.数据访问层:对数据存储中的原始数据进行操作的代码
    3.业务逻辑层:获取数据访问层检索到的数据,并用更抽象。更直观的方式将数据显示在客户端,这样可以隐 藏底层的细节,并且可以增加逻辑验证以保证输入的安全性和一致性
    4.显示层:定义用户在屏幕上可以看到的内容,包括格式化的数据和系统导航菜单。
      

  13.   

    一般的工具类, 比如验证邮箱地址,ip地址等..要放那一层才能让代码看起来更清晰.  这样可以放在共用类库中。。做辅助的。。
    中间层: 一直没明白.
    一般自己是把List<user>中的countryid通过对应的country表. 对应出具体的country字段的名称.填充到List<user>中的country字段上.中间层就是把你数据层中返回的数据 做相应的业务逻辑处理。。所以才叫业务逻辑层。。处理完之后在返回给UI
    UI 只做数据显示。BLL 只做业务逻辑处理DAL 只做对数据库访问 当然也不是绝对的 要看你如何变通最终的目的 为 解耦
      

  14.   


    http://microsoftnlayerapp.codeplex.com/
      

  15.   

    http://blog.csdn.net/lfsf802/archive/2011/03/24/6274304.aspx   你看看我的博客吧
      

  16.   

    http://download.csdn.net/source/3130957《浅谈“三层结构”原理与用意》  doc讲的比较深,希望可以帮到你。
      

  17.   

    http://social.msdn.microsoft.com/Forums/zh-CN/2212/thread/b43087e2-4071-4949-b24e-5d12bdb14516
      

  18.   

    看看源代码,简单的分为数据层,业务层,表示层http://www.maticsoft.com/download.aspx