/// <summary>
    /// 员工类
    /// </summary>
    public class Sataffer
    {
        public IList<Sataffer> staffers;
        public IList<Sataffer> Staffers
        {
            get { return staffers; }
            set { staffers = value; }
        }
        /// <summary>
        /// 获取员工列表
        /// </summary>
        /// <returns></returns>
        public IList<Sataffer> GetStafferList()
        {
            IList<Sataffer> staffers = new List<Sataffer>();
            staffers.Add(new Sataffer());
            return staffers;
        }
        public void Add()
        {
            //添加一个员工到数据库中的代码
        }
    } /// <summary>
    /// 部门类
    /// </summary>
    public class Department
    {
        public IList<Sataffer> staffers;
        public IList<Sataffer> Staffers
        {
            get { return staffers; }
            set { staffers = value; }
        }
        /// <summary>
        /// 获取员工列表
        /// </summary>
        /// <returns></returns>
        public IList<Sataffer> GetStafferList()
        {
            IList<Sataffer> staffers = new List<Sataffer>();
            staffers.Add(new Sataffer());//实际是从数据库获取数据
            return staffers;
        }
        public void AddStaffer(Sataffer staffer)
        {
            new Sataffer().Add();
        }
    }
请问GetStafferList()方法应该在什么地方写。
请大家说一下,
从面向对象的角度出发,这样的代码应该如何写??

解决方案 »

  1.   

    数据持久层分开的话,那么应该怎么写呢?弄个实例分析一下,其实项目中是使用的数据持久层的,DAL+BLL+Model
      

  2.   

    petshop 4.0的架构蛮不错,lz可以看看
      

  3.   

    个人认为只要只要写在BLL层 就可以了.
      

  4.   

    单纯的数据操作,还是要放到dal里面。
    bll里面要放业务(主要就是根据业务需要组合dal里的方法)
      

  5.   

    单纯的数据操作,还是要放到dal里面。
    bll里面要放业务(主要就是根据业务需要组合dal里的方法)
    这个我懂,只是不懂那个方法应该放在哪一个类最适合。有的觉得GetStafferList()应该放在Commpany类里,有的觉得应该放在Staffer类里。
      

  6.   

    类之所以叫类,就是表示它是一种类别,在我看来Company是一个公司,自然员工是它的一部分,员工则是个体,它最好只负责一个员工的职责,所以在我看来要得到所有员工的列表的话,这应该是Company的事情,而不是一个员工的职责。
      

  7.   

    对了,应该就是这样,如果是添加一个员工呢,添加一个员工是在这个公司下添加,那么那么按道理AddStaffer也应该放在Commpany类里吗?
      

  8.   

    回复人:rosanshao(罗三少) ( 二级(初级)) 信誉:100  2007-02-09 12:48:15  得分:0

    对了,应该就是这样,如果是添加一个员工呢,添加一个员工是在这个公司下添加,那么那么按道理AddStaffer也应该放在Commpany类里吗?
    --------------------
    对的。