1
我只是好奇,如果我应该把我的年龄方法放入我的POCO类中,或将此方法留在业务层中。业务对象方法
现在我有4层:
- BusinessObject的(BO)
- 数据接取层(DAL)
- 的UserInterface(UI)
- 服务。
现在我想查询年龄在13岁以上的用户。所以我辩论是否应该在我的博POCO类中的方法,该方法返回用户的当前年龄,还是应该查询从我的业务层DOB如下
BO
public class Person:Base
{
public string FirstName { get; set; }
public string MiddleName { get; set; }
public string LastName { get; set; }
public DateTime DOB { get; set; }
public int Age
{
get
{
DateTime today = DateTime.Today;
int age = today.Year - DOB.Year;
return age;
}
}
}
业务层
public class PersonBLL
{
private PersonDAL db = null;
public PersonBLL()
{
db = new PersonDAL(new AppContext());
}
public IEnumerable<Person> PersonGEAge(int age)
{
DateTime td = DateTime.Now;
DateTime birthday = DateTime.Now;
DateTime date = new DateTime(birthday.Year - age, td.Month, td.Day, 4, 5, 6);
return db.PersonDOB(date);
}
}
你的年龄计算错了!请参阅http://stackoverflow.com/questions/9/how-do-i-calculate-someones-age-in-c – Bas
这个问题似乎更像是一个核心评论,它可能是更好的问了在http:// codereview.stackexchange.com –
@DavidPine:问题不在于代码,而在于图层和实体设计。 – jgauffin