在C#ADO.NET WinForm+Sqlserver2005数据库三层构架中怎么设计接口:接口应在那个层定义和实现
例如:数据库里有T_student(id,name,age,sex)表,在界面Form有三个文本框,分别对应id,name,sex,另外还用一个添加按钮。写实现该添加功能...
例如:数据库里有T_student(id,name,age,sex)表,在界面Form有三个文本框,分别对应id,name,sex,另外还用一个添加按钮。写实现该添加功能的代码:要求使用三层构架实现,并在该实现过程中要使用到一个接口。所实现的代码要标明在那个类库(本解决方案包含UI,BLL,ADL,Common,Model五个项目,一个类库就是一个项目)中,说明当前项目引用哪些项目。
对接口在三层构架的应用不熟,那位大侠能按上面的要求写个代码实例给我吗?我现在正在改写一个项目,急急!!!!!!!! 展开
对接口在三层构架的应用不熟,那位大侠能按上面的要求写个代码实例给我吗?我现在正在改写一个项目,急急!!!!!!!! 展开
3个回答
展开全部
Model层定义好跟表对应起来的实体类;
UI层发送指令到BLL层,BLL层可能根据UI层的指定会做一些逻辑处理(所以叫业务罗层,也就是跟业务逻辑相关的,都放在这里),再最终调用DAL层,执行数据库访问。比如UI层用户点击注册,要实现注册功能,那么你的业务逻辑层可能要对用户的数据进行各种校验,最终再把校验通过的数据传给DAL层来执行插入或者修改之类的数据库操作。
DAL层执行数据库交互(增删改查之类),而且只是纯粹的数据库操作,不做其他业务逻辑的处理,最多就增加一些对数据库操作这块的逻辑判断。并返回操作的结果(DataReader/DataTable之类看你需要,一般如果查询数据,返回DataReader是比较高效的方式)的到BLL层,BLL层将返回的数据转换成实体类或者实体类的集合,当然,你也可以在DAL层就把数据库查出来的数据转换成对象,切记,如果是在BLL层转换DataReader成对象,一定要记得关闭DataReader。最后BLL层再把对象反馈给UI层
而Common层就是执行一些跟业务逻辑和数据库访问都不太相干的处理的,比如把各种实用的方法封装起来放到这里,以备各种项目调用。
UI层发送指令到BLL层,BLL层可能根据UI层的指定会做一些逻辑处理(所以叫业务罗层,也就是跟业务逻辑相关的,都放在这里),再最终调用DAL层,执行数据库访问。比如UI层用户点击注册,要实现注册功能,那么你的业务逻辑层可能要对用户的数据进行各种校验,最终再把校验通过的数据传给DAL层来执行插入或者修改之类的数据库操作。
DAL层执行数据库交互(增删改查之类),而且只是纯粹的数据库操作,不做其他业务逻辑的处理,最多就增加一些对数据库操作这块的逻辑判断。并返回操作的结果(DataReader/DataTable之类看你需要,一般如果查询数据,返回DataReader是比较高效的方式)的到BLL层,BLL层将返回的数据转换成实体类或者实体类的集合,当然,你也可以在DAL层就把数据库查出来的数据转换成对象,切记,如果是在BLL层转换DataReader成对象,一定要记得关闭DataReader。最后BLL层再把对象反馈给UI层
而Common层就是执行一些跟业务逻辑和数据库访问都不太相干的处理的,比如把各种实用的方法封装起来放到这里,以备各种项目调用。
展开全部
一看就是应急的,不过也没那么多时间给你写代码了。接口放BLL。UI层都是调用BLL层的接口。
追问
不麻烦,重点写一下接口与数据访问层和UI层的代码,怎么实现它们之间相互传递数据(只要写出它们大概的框架)。描述一下它们之间的关系。
追答
呵呵,你这一个重点就把你整个作业都覆盖全了呀,除了Common和Model你没提到。给你写代码那是指定没工夫的了,不过可以跟你说些思想性的东西。
一般是这样:
Model层定义好跟表对应起来的实体类;
UI层发送指令到BLL层,BLL层可能根据UI层的指定会做一些逻辑处理(所以叫业务罗层,也就是跟业务逻辑相关的,都放在这里),再最终调用DAL层,执行数据库访问。比如UI层用户点击注册,要实现注册功能,那么你的业务逻辑层可能要对用户的数据进行各种校验,最终再把校验通过的数据传给DAL层来执行插入或者修改之类的数据库操作。
DAL层执行数据库交互(增删改查之类),而且只是纯粹的数据库操作,不做其他业务逻辑的处理,最多就增加一些对数据库操作这块的逻辑判断。并返回操作的结果(DataReader/DataTable之类看你需要,一般如果查询数据,返回DataReader是比较高效的方式)的到BLL层,BLL层将返回的数据转换成实体类或者实体类的集合,当然,你也可以在DAL层就把数据库查出来的数据转换成对象,切记,如果是在BLL层转换DataReader成对象,一定要记得关闭DataReader。最后BLL层再把对象反馈给UI层
而Common层就是执行一些跟业务逻辑和数据库访问都不太相干的处理的,比如把各种实用的方法封装起来放到这里,以备各种项目调用。
本回答被提问者采纳
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询