面向对象转化为实际的代码——请大家指点
/// <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()方法应该在什么地方写。
请大家说一下,
从面向对象的角度出发,这样的代码应该如何写??
[解决办法]
个人认为 单纯面向对象的应该把员工类和员工业务处理、员工数据持久分开
[解决办法]
类之所以叫类,就是表示它是一种类别,在我看来Company是一个公司,自然员工是它的一部分,员工则是个体,它最好只负责一个员工的职责,所以在我看来要得到所有员工的列表的话,这应该是Company的事情,而不是一个员工的职责。
[解决办法]
回复人:rosanshao(罗三少) ( 二级(初级)) 信誉:100 2007-02-09 12:48:15 得分:0
?
对了,应该就是这样,如果是添加一个员工呢,添加一个员工是在这个公司下添加,那么那么按道理AddStaffer也应该放在Commpany类里吗?
--------------------
对的。