三层架构解析:http://blog.csdn.net/hanxuemin12345/article/details/8544957/
1、功能分析(点击按钮让表中的字段id=3的年龄+1)
2、根据功能确定SQL语句(update student set age=student.age+1 where id=3)
3、在数据访问层(DAL)编写执行该SQL语句的方法。编写前,确定该方法的参数与返回值。(DAL层的名字与表明相同 StudentDAL)
4、编写业务逻辑层的方法(StudentBLL / StudentService),确定该方法的参数与返回值(返回值取决于UI层需要用什么样的返回值)
5、编写UI层代码
5.1、采集数据
5.2、展示数据
5.3、调用对应的业务逻辑层来实现具体功能
5.3.1、实例化BLL层类
5.3.2、调用BLL中的方法
出了DAL层,BLL层拿到的数据类型,必须为强类型的。(DataTable就是弱类型的,实体Model就是强类型的)
public User GetInfoById(string id){ User u=null; //ListUList=new List (); if(sqlHelper执行的结果){ //将值赋给User的实例 u=new User; u.name=xxx; u.age=xxx; u.sex=xxx; } return u;}
DAL中返回的对象:
若是一个集合类型的时候,当执行结果为空的时候(select语句执行得到的结果为null),那么就返回一个长度为0的list。
若是一个model, 当执行结果为空的时候(select语句执行得到的结果为null),那么就返回一个null。
public class Student { public int ID { get; set; } public string Name { get; set; } public int Age { get; set; } public string Sex { get; set; } public Score FenShu { get; set; } }public class Score { public int Chinese { get; set; } public int Math { get; set; } public int English { get; set; } public int SID { get; set; } }
Heima8.OA.BLLHeima8.OA.CommonHeima8.OA.EFDALHeima8.OA.ModelHeima8.OA.UI.PortalHeima8.OA.UnitTest