机房重构总结1
来源:互联网 发布:et服装软件图片 编辑:程序博客网 时间:2024/06/11 18:13
机房重构也进行一段时间了,有必要总结一下了。
机房重构的第一步就是七层登录,七层登录我用的是C#实现的。
不管做什么项目首先就是要理清思路,实现七层登录当然也是,首先我们要看图。
这里的七层是在三层的基础上与设计模式相结合演化而来的,应用了设计模式中的外观模式和抽象工厂模式。
1、IDAL:接口层用来定义一个统一的接口,解除B层和D层的耦合。
2、Factory:工厂来创建接口,返回接口,用到了抽象工厂+反射+配置文件,作用是灵活的实现数据库的连接,方便换数据库,进一步解耦合。
3、BLL:主要负责一些逻辑判断和处理。
4、Facade:这里用到了外观模式,使得复杂问题简单化,用外观模式定义系统中每一层的入口,层与层之间不直接产生联系,而通过外观类建立联系,降低层之间的耦合度。
5、UI:主要职责是为用户提供信息,以及把用户的指令进行翻译。
6、Entity:实体层,存放全局的实体类,方便各个层之前的参数调用。
7、DAL:数据访问层所做事务直接操作数据库,针对数据的增添、删除、修改、查找。无需做什么逻辑判断,只是和数据库直接交互。
展示一下部分代码:
Factory层:
Imports System.Reflection Imports IDAL Imports System.Data Imports System.Configuration Public Class LoginFactory Dim strDB As String = System.Configuration.ConfigurationSettings.AppSettings("DBString") Dim strQueryWorkLog As String = System.Configuration.ConfigurationSettings.AppSettings("DBStrQueryWorkLog") Public Function CreateUser() As IDAL.IUser Return CType(Assembly.Load("DAL").CreateInstance("DAL.LoginDAL"), IDAL.IUser) End Function Public Function SaveWorkLog() As IDAL.IWorklog Return CType(Assembly.Load("DAL").CreateInstance("DAL.WorklogDAL"), IDAL.IWorklog) End Function End Class
DAL层:
Imports System.Data.SqlClient Imports IDAL Public Class LoginDAL : Implements IDAL.IUser Public Function IDALUser(User As Entity.UserEntity) As DataTable Implements IDAL.IUser.IDALUser Dim SqlParams As SqlParameter() = {New SqlParameter("@UserID", User.UserID), New SqlParameter("@passWord", User.Password)} Dim Sql As String = "select * from User_Info where userID=@userID and passWord=@passWord" 'Dim cmdText As String = "pro_selectUser" Dim SqlHelperObject As New SqlHelper.LoginSqlHelper Dim cmdType As CommandType = New CommandType() Dim table As New DataTable table = SqlHelperObject.Execute(Sql, cmdType, SqlParams) Return table End Function
Imports System.Data.SqlClient Imports IDAL Public Class WorklogDAL : Implements IDAL.IWorklog Public Function SaveWorklog(worklog As Entity.WorklogEntity) As Boolean Implements IDAL.IWorklog.SaveWorklog Dim Sql As String = "INSERT INTO Worklog_Info (UserID,loginDateTime,Computer) VALUES (@UserID,@loginDateTime,@Computer)" Dim SqlParams As SqlParameter() = {New SqlParameter("@UserID", worklog.UserID), New SqlParameter("@loginDateTime", worklog.loginDateTime), New SqlParameter("@Computer", worklog.Computer)} Dim cmdType As CommandType = CommandType.Text Dim SqlHelperObject As New SqlHelper.LoginSqlHelper Return SqlHelperObject.ExecuteQuery(Sql, cmdType, SqlParams) End Function End Class
阅读全文
0 0
- 机房重构总结1
- 【机房重构】总结
- 机房重构总结
- 机房重构总结
- 机房重构总结
- 机房重构总结
- 机房重构总结
- 机房重构总结
- 机房重构总结
- 个人机房重构总结
- 机房个人重构总结
- 个人机房重构总结
- 机房重构个人版总结
- 【机房重构】问题总结
- 机房重构注意事项总结
- 【机房重构】最后总结
- 【机房重构】总结篇
- 机房重构问题总结
- 从零开始搭建本地mongodb环境
- hm3-算法描述和文档
- 十一月英语学习
- Game of the Rows
- Large Pose 3D Face Reconstruction 文章理解
- 机房重构总结1
- tomcat正常启动后http://localhost:8080/报错404
- 安装GraphViz以供python调用
- Building TensorFlow on Android
- 如何用DiscoGAN学习发现跨域关系(附源代码)
- ACM 并查集
- 多文件目录下makefile文件递归执行编译所有c文件
- [DP] 「CodePlus 2017 11 月赛」找爸爸
- HTML 全局属性