三层架构及设计模式(抽象工厂实现)
1. 三层架构实现,把表现层(WebUI)与数据访问层(DAL)分开,使用业务逻辑进行处理(BLL), 避免了把数据信息暴露在表现层, 从而提供了程序的性能,使用业务逻辑处理与表现层进行交互,
把表现层的需求,通过业务逻辑处理,把信息传递给数据访问层进行加工,把加工好的信息,从过业务逻辑又传回表现层, 在整个过程中,业务逻辑层起了中间桥梁作用。在业务逻辑层中, 不能
出现AD0.net 和sql语句的实现。
2. 抽象工厂设计模式,增加了程序之间的开发一致性,保证数据库变化, 不影响程序之间的变化,任何一个层之间变动,都不会影响到正个程序的变化,只需改变其中的一层。
3.使用方法:(CRUD)
增: 先new一个对象(利用models层中的对象模型) 比如:Student.cs
引用models.dll
Student stu = new Student();
stu.UserName = TxtUserName.Text;
: :
: :
BLL.StudentManager.AddStudent(stu);
这样格式就可以了。
查: 同上:一般数据源指定为一个表: 或者托一个objectDataSource 直接指定业务逻辑层绑定.
引用BLL.dll
DataList.DataSource = BLL.StudentManager. GetAllStudents();\
DataList.DataBind(); 就可以完成。
改: 先取修改的ID.
Student stu = new Student();
stu.UserName = TxtUserName.Text;
BLL.StudentManager.UpdateStudentInfo(Student stu);
删: 先取的删除的id.
BLL.StudentManager.DeleteStudentInfo(int id);
单值绑定:
Student stu = GetStudentInfoByLoginID(int id);
TxtUserName.Text = stu.UserName;
: :
: :
DALFactory默认是每一层封装到一个程序集(独立项目)组件里。通过反射机制创建对象实例。
//从程序集创建对象实例
string path = System.Configuration.ConfigurationSettings.AppSettings["DAL"];//数据层的程序集名称
return (IDbObject)Assembly.Load(path).CreateInstance(path+".DbObject");
如果你的数据层不是单独的程序集,可以采用如下方法加载:
//使用与指定参数匹配程度最高的构造函数来创建指定类型的实例
string path = System.Configuration.ConfigurationSettings.AppSettings["DAL"];
string TypeName=path+".DbObject"
Type objType = Type.GetType(TypeName,true);
return (IDbObject)Activator.CreateInstance(objType);
Power By JFTudio.net
MyPage :www.jfstudio.net
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
三层架构及设计模式(抽象工厂实现)<br><br> 1. 三层架构实现,把表现层(WebUI)与数据访问层(DAL)分开,使用业务逻辑进行处理(BLL), 避免了把数据信息暴露在表现层, 从而提供了程序的性能,使用业务逻辑处理与表现层进行交互,<br> 把表现层的需求,通过业务逻辑处理,把信息传递给数据访问层进行加工,把加工好的信息,从过业务逻辑又传回表现层, 在整个过程中,业务逻辑层起了中间桥梁作用。在业务逻辑层中, 不能<br> 出现AD0.net 和sql语句的实现。<br> 2. 抽象工厂设计模式,增加了程序之间的开发一致性,保证数据库变化, 不影响程序之间的变化,任何一个层之间变动,都不会影响到正个程序的变化,只需改变其中的一层。
资源推荐
资源详情
资源评论
收起资源包目录
DALFactory.rar (89个子文件)
DALFactory
DAL
DAL.csproj 3KB
bin
Debug
Models.pdb 30KB
Models.dll 20KB
DAL.dll 28KB
IDALFactory.pdb 8KB
IDALFactory.dll 16KB
DAL.pdb 50KB
SqlServer
GradeService.cs 3KB
StudentService.cs 10KB
DBHelper.cs 5KB
ClassService.cs 3KB
AdminService.cs 2KB
obj
DAL.csproj.FileList.txt 216B
Debug
DAL.dll 28KB
ResolveAssemblyReference.cache 4KB
DAL.pdb 50KB
TempPE
Properties
AssemblyInfo.cs 1KB
Access
GradeService.cs 781B
StudentService.cs 2KB
DBHelper.cs 5KB
ClassService.cs 1KB
AdminService.cs 563B
使用说明.txt 3KB
BLL
StudentManager.cs 5KB
bin
Debug
Models.pdb 30KB
Models.dll 20KB
DALFactory.dll 16KB
DAL.dll 28KB
IDALFactory.pdb 8KB
DALFactory.pdb 16KB
IDALFactory.dll 16KB
DAL.pdb 50KB
BLL.pdb 24KB
BLL.dll 20KB
BLL.csproj 3KB
obj
BLL.csproj.FileList.txt 306B
Debug
ResolveAssemblyReference.cache 11KB
TempPE
BLL.pdb 24KB
BLL.dll 20KB
Properties
AssemblyInfo.cs 1KB
ClassManager.cs 2KB
GradeManager.cs 2KB
LoginManager.cs 4KB
IDALFactory
IGradeService.cs 479B
IStudentService.cs 786B
bin
Debug
Models.pdb 30KB
Models.dll 20KB
IDALFactory.pdb 8KB
IDALFactory.dll 16KB
IDALFactory.csproj 2KB
obj
Debug
IDALFactory.pdb 8KB
ResolveAssemblyReference.cache 2KB
IDALFactory.dll 16KB
TempPE
IDALFactory.csproj.FileList.txt 194B
Properties
AssemblyInfo.cs 1KB
IClassService.cs 504B
IAdminService.cs 439B
DALFactory.sln 3KB
DALFactory
SqlDALFactory.cs 954B
AccessDALFactory.cs 961B
bin
Debug
Models.pdb 30KB
Models.dll 20KB
DALFactory.dll 16KB
DAL.dll 28KB
IDALFactory.pdb 8KB
DALFactory.pdb 16KB
IDALFactory.dll 16KB
DALFactory.dll.config 478B
DAL.pdb 50KB
obj
DALFactory.csproj.FileList.txt 315B
Debug
DALFactory.dll 16KB
ResolveAssemblyReference.cache 8KB
DALFactory.pdb 16KB
TempPE
AbstractDALFactory.cs 1KB
Properties
AssemblyInfo.cs 1KB
App.config 478B
DALFactory.csproj 3KB
DALFactory.suo 49KB
Models
Models.csproj 2KB
Admin.cs 872B
bin
Debug
Models.pdb 30KB
Models.dll 20KB
obj
Models.csproj.FileList.txt 130B
Debug
Models.pdb 30KB
Models.dll 20KB
TempPE
Properties
AssemblyInfo.cs 1KB
Class.cs 879B
Student.cs 3KB
Grade.cs 612B
共 89 条
- 1
资源评论
- guan_jh2013-07-03刚入门的时候,参考了下,还不错的。
lisumer
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- windows下NTFS文件系统读取.zip
- windows程序设计课程 相关代码.zip
- Windows via C++图书代码,升级Windows SDK 到10.zip
- matlab基于扩张卡尔曼滤波的磷酸铁锂蓄电池SOC检测,给出了电池模型和算法实现过程.zip
- matlab基于卡尔曼滤波的磷酸铁锂蓄电池SOC检测
- STM8S003F3P6最小系统AD版(包含原理图、PCB源文件)
- smg.uvproj
- nextjs turbo build
- mysql-connector-j-8.0.31.jar
- MATLAB Appdesigner 设计天气预报小程序:全国各城市天气查询系统Weather-capturer-v3
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功