目前我的业务层几乎没什么代码,基本就是返回要操作的数据层的类,直觉告诉我不应该是这样的!namespace SimpleBLL
{
/// <summary>
/// 业务逻辑层
/// </summary>
public class AdminBLL:IAdminBLL
{
/// <summary>
/// 添加管理员
/// </summary>
/// <param name="admin">管理员信息类</param>
/// <returns>是否成功</returns>
public bool Add(AdminInfo admin)
{
//DALFactory.CreateAdminDAL()使用工厂类返回执行管理员相关操作的类
return DALFactory.CreateAdminDAL().Insert(admin);
}
/// <summary>
/// 删除管理员
/// </summary>
/// <param name="id">欲删除的管理员ID</param>
/// <returns>是否成功</returns>
public bool Delete(int id)
{
//DALFactory.CreateAdminDAL()使用工厂类返回执行管理员相关操作的类
return DALFactory.CreateAdminDAL().Delete(id);
}
/// <summary>
/// 修改管理员密码
/// </summary>
/// <param name="id">欲修改的管理员ID</param>
/// <param name="pwd">密码字符串</param>
/// <returns>是否成功</returns>
public bool UpdatePwd(int id, string pwd)
{
//DALFactory.CreateAdminDAL()使用工厂类返回执行管理员相关操作的类
return DALFactory.CreateAdminDAL().UpdatePwd(id, pwd);
}
/// <summary>
/// 修改管理员权限
/// </summary>
/// <param name="id">欲修改的管理员ID</param>
/// <param name="pre">权限字符串</param>
/// <returns>是否成功</returns>
public bool UpdatePre(int id, string pre)
{
//DALFactory.CreateAdminDAL()使用工厂类返回执行管理员相关操作的类
return DALFactory.CreateAdminDAL().UpdatePre(id, pre);
}
/// <summary>
/// 管理员登录
/// </summary>
/// <param name="name">管理员名称</param>
/// <param name="pwd">管理员密码</param>
/// <returns>管理员类</returns>
public AdminInfo Login(string name,string pwd)
{
//DALFactory.CreateAdminDAL()使用工厂类返回执行管理员相关操作的类
return DALFactory.CreateAdminDAL().GetByNameAndPwd(name, pwd);
}
/// <summary>
/// 取得所有管理员
/// </summary>
/// <param></param>
/// <returns>管理员实体类集合</returns>
public IList<AdminInfo> GetAll()
{
//DALFactory.CreateAdminDAL()使用工厂类返回执行管理员相关操作的类
return DALFactory.CreateAdminDAL().GetAll();
}
}
}
{
/// <summary>
/// 业务逻辑层
/// </summary>
public class AdminBLL:IAdminBLL
{
/// <summary>
/// 添加管理员
/// </summary>
/// <param name="admin">管理员信息类</param>
/// <returns>是否成功</returns>
public bool Add(AdminInfo admin)
{
//DALFactory.CreateAdminDAL()使用工厂类返回执行管理员相关操作的类
return DALFactory.CreateAdminDAL().Insert(admin);
}
/// <summary>
/// 删除管理员
/// </summary>
/// <param name="id">欲删除的管理员ID</param>
/// <returns>是否成功</returns>
public bool Delete(int id)
{
//DALFactory.CreateAdminDAL()使用工厂类返回执行管理员相关操作的类
return DALFactory.CreateAdminDAL().Delete(id);
}
/// <summary>
/// 修改管理员密码
/// </summary>
/// <param name="id">欲修改的管理员ID</param>
/// <param name="pwd">密码字符串</param>
/// <returns>是否成功</returns>
public bool UpdatePwd(int id, string pwd)
{
//DALFactory.CreateAdminDAL()使用工厂类返回执行管理员相关操作的类
return DALFactory.CreateAdminDAL().UpdatePwd(id, pwd);
}
/// <summary>
/// 修改管理员权限
/// </summary>
/// <param name="id">欲修改的管理员ID</param>
/// <param name="pre">权限字符串</param>
/// <returns>是否成功</returns>
public bool UpdatePre(int id, string pre)
{
//DALFactory.CreateAdminDAL()使用工厂类返回执行管理员相关操作的类
return DALFactory.CreateAdminDAL().UpdatePre(id, pre);
}
/// <summary>
/// 管理员登录
/// </summary>
/// <param name="name">管理员名称</param>
/// <param name="pwd">管理员密码</param>
/// <returns>管理员类</returns>
public AdminInfo Login(string name,string pwd)
{
//DALFactory.CreateAdminDAL()使用工厂类返回执行管理员相关操作的类
return DALFactory.CreateAdminDAL().GetByNameAndPwd(name, pwd);
}
/// <summary>
/// 取得所有管理员
/// </summary>
/// <param></param>
/// <returns>管理员实体类集合</returns>
public IList<AdminInfo> GetAll()
{
//DALFactory.CreateAdminDAL()使用工厂类返回执行管理员相关操作的类
return DALFactory.CreateAdminDAL().GetAll();
}
}
}
解决方案 »
- ASP.NET 的using BLL和using Web.DataAccess问题
- WEB ImgHelper 1.00发布 大家多提意见啊
- (急)web 打印的問題?
- sql语句分页有几种,那种效率高点
- 新手第一问:请问在vs2005速成版中如何将表单中的项目插入SQL或access中?
- 字符串处理
- 如果不使用 SqlCommandBuilder 自动产生SQL语句,那么怎么使用 Fill.Update()呢?
- JS把html的<img src=... ...></img>正则替换成[img] src=... ...>[/img]
- ASP.NET AJAX 1.0项目如何发布?
- 请问如何设置datagrid的列的宽度或百分比
- 关于实现不同用户登录,然后显示当前用户的个人信息
- 关于页面兼容性问题
每个层的职责明确,展示层就不应该有业务逻辑的处理。只是将业务处理需要的数据获取,调用BLL的方法去处理,然后接收返回值绑定就行。第二点:正常。
BLL是封装业务逻辑,DAL是数据库访问层做数据持久化的。
如果业务逻辑只是简单CRUD这类的,你会发现,BLL层其实挺少代码,反而DAL更多代码。
但是比如你在保存前,需要做一些校验,BLL的代码就会比较多。还比如一些算法的代码也是逻辑层里实现。
BLL。下单
{
DAL。购物车表清除
DAL。Order表添加
DAL。积分表...
.......
}明白?当然,一些对应值操作一张表的,所以看起来都是一样的
举例说明一下吧。可能DAL层里面的方法就是 添加,删除等等这类的。
而BLL是业务逻辑的东西,应该是领域方面的知内容,可能方法名称就是 登录,调度,分配这种之类的东西,当然登录方法里面可能是调用DAL层里的方法,但是基本上不应该一样,因为两层的形态都不一样。就像数据库里面 插入要用 insert 但是array,list之类的 插入是add,可能内容一样,但是他们是不同的层面。