大家都知道BLL是业务逻辑类  问题就来了 比如 我在UI界面拥有增加学员的功能  又有一个界面是用来增加班级的功能  
 分别用不同的表进行存储  我想知道的是“是不是BLL中只声明一个类还是对不同的表添加不一样的BLL” 
  如果是同时声明在一个类中 那么在构造方法的时候 我就会从数据库查询出所有的班级和所有的学员  但是当前我只对学员进行添加操作没有对班级进行操作 那么就浪费了很多的内存用来存放班级的信息 这是从内存的角度看的
  从使用的角度学员和班级是有关系的  那么做将学员添加到指定的班级的时候  这样必须得出所有的班级 在对学员进行添加  这样是不是在同一个类中做更好呢
  我的问题还是 一般大家在写BLL中是写多个类 还是直接写一个类进行所有的操作 并且说说原因

解决方案 »

  1.   

    是不是BLL中只声明一个类还是对不同的表添加不一样的BLL”------------------------肯定是要分别写了。
      

  2.   

    其实对于这个我一直有疑惑,比如说就时从表中取出全部数据,一句select * from Table。。
    能否只写一个方法,传入表名参数。。
    还是说写多个类,,每个类中都有这么一个取出全部数据的方法。。
      

  3.   

    业务逻辑层:包括业务实体组件和业务逻辑组件。
    业务实体组件一般是根据数据库中的表来构建的,业务逻辑组件主要是自定义一些业务规则,
    完成一些功能。
    在web里
    Model,实现业务实体。
    IDAL,实现接口。
    SQLServerDAL,实现接口里的方法。
    web.config里的配置信息,为SQLServerDAL的程序集。
    DALFactory,返回程序集的指定类的实例。
    BLL,调用DALFactory,得到程序集指定类的实例,完成数据操作方法。
    WEB,调用BLL里的数据操作方法。
    看看petshop和一些开源框架如spring.net
    在BLL中根据实体设置不同的类,实体间的管理可定义实体属性关联其他实体类
      

  4.   

    我觉得按照LZ所说,比如 我在UI界面拥有增加学员的功能  又有一个界面是用来增加班级的功能  
    这完全可以用一个类来实现,不必增加新的BLL.