最近看了petshop4和discuz!nt的代码,数据层有所不同对两个系统主要不同处本人有以下疑惑请大家指点,谢谢!
petshop没有用dataset,discuz!nt大量使用
petshop实体类都用了序列化,discuz!nt基本没有
哪种方式更高效,更节省资源,各有什么长处呢?

解决方案 »

  1.   

    1.petshop效率更高一些,因为在petshop4中,用的是List<T>列表,类型转换上占了一些便宜。但是,运行效率的追求,不必局限于这些,好的缓存,分布式的环境,在高负载下更为实用。
    2.分层的目的是为了代码更容易维护,思路更为清晰,与效率并没有直接关系。最快的访问方法就是直接访问数据库+缓存。甚至于生成静态页面。
    3.表记录多少条并没有关系,关键看怎么操作,索引起的做用非常明显。如担心表大小问题,可依据选择数据库看文档,或者在设计时采用分层,必要时在数据访问层进行分表操作。
      

  2.   

    DataSet 是存储在内存中的表
      比较占内存 
      

  3.   

    PetShop是个Sample,所以你不能拿它和任何Product比...没有可比性...Discuz!NT是个论坛,没有复杂BL可言...所以不能拿它跟任何商业业务系统比...没有可比性...实体类都声明可序列化是为扩展性考虑的...DataSet更耗费资源,适用于小项目...
      

  4.   

    复杂的业务最好不要用DataSet......
      

  5.   

    DataSet 是存储在内存中的表 
      比较占内存 
      

  6.   

    快速开发可以用dataset,不过只能适合小项目!