先介绍下何为七层?
这里的七层是在三层的基础上与设计模式相结合演化而来的,应用了设计模式中的外观模式和抽象工厂模式。
一,实体层(Entity):实体层,存放全局的实体类,方便各层之间的参数调用。
二,数据访问层(DAL):该层所做的事务直接操作数据库,针对数据的增添,删除,修改,查找无需做什么逻辑判断,只是和数据库直接交互。
三,接口层(IDAL) :接口层用来定义一个统一的接口,解除B层和D层的层耦合
四,工厂层(工厂) :工厂来创建接口,返回接口,用到了抽象工厂+反射+配置文件,作用是灵活的实现数据库的连接,方便换数据库,进一步解耦合。
五,业务逻辑层(BLL):主要负责一些逻辑判断和处理。
六,接口层(IBLL):定义接口让BLL实现。
七:界面层(UI) :主要职责是为用户提供信息,以及把 户的指令进行翻译。
实现步骤:
1,创建实体,实现业务实体。
2,创建IDAL,定义接口。
3,创建DAL,实现接口里的方法。
4,增加的app.config里的配置信息,为提供DAL的程序集。
5,创建厂,返回程序集的指定类的实例。
7,创建IBLL,定义接口
8, 创建BLL,实现IBLL中的方法。
8,创建用户界面,调用IBLL里的方法,实现登录。
一. 创建基本结构 :
文件 ->新建 -> 项目 ->类库
二
. 具体代码
在Entity中我写了两个类,UserInfo 和ConvertHelper,UserInfo 是实体类。
ConvertHelper 是转换类,将DataTable 转换为 List 。
Entity层中的UserInfo:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Entity
{
public class UserInfo
{
private string userName;
private string password;
public string UserName
{
get { return userName; }
set { userName = value; }
}
public string Password
{
get { return password; }
set { password = value; }
}
}
}
ConvertHelper
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Reflection;
namespace Entity
{
public class ConvertHelper //查询结果转换成泛型集合
{
public static IList<T> convertToList<T>(DataTable dt) where T : new()
{
List<T> ts = new List<T>();
string tempName = "";