bll层怎么写

1..net, 怎么在BLL层和DAL层中加入IDAL层的,具体些,最好写一些代BLL:
public class TestBll
{
ITestDal dal = TestFactory.CreateDal();
public string GetData()
{
return dal.GetData();
}
}
IDAL:
public interface ITestDal
{
public string GetData();
}
DAL:
public class TestDal : ITestDal
{
public override string GetData()
{
return "test";
}
}
Factory:
public class TestFactory
{
public static ITestDal CreateDal()
{
return new TestDal();
}
}
关系:BLL要调用DAL方法不是直接生成DAL对象去调用 , 而是通过中间的factory生成 , IDAL是为了保证耦合度 。
这只是最简单的一种调用 , 可以继续优化 , 比如配置文件+反射+缓存 。
架构、设计模式之类的学习需要多实践 , 只有实践了才能发现一些问题 , 如性能 , 代码冗余等 。
2.业务逻辑层BLL到底有什么用1、BLL层全称是 Business Logic Layer
顾名思义 , 是业务层
2、它是DAL(Data Access Layer , 数据访问层)和UI(User Interface)层的连接桥梁.
3、既然称作业务层 , 必然有他的用处 , 不仅仅是一个中转的功能.
创建一个用户 , 可以用以下的逻辑表示:
namespace BLL
class 用户BLL
{
添加结果 AddUser(用户实体)
{
if(!检查用户名是否合法(用户实体.用户名))return 用户名非法;
if(!检查用户密码是否合法(用户实体.密码))return 密码非法;
if(!DAL.检查用户是否存在(用户实体.用户名))return 用户名已经存在;
int 新用户ID=DAL.添加用户记录(用户实体);
if(新用户ID>0)return 用户添加成功;
else reutrn 数据库访问出现错误!
}
}
4、但是在大部分没有严格要求的环境中 , 我们会习惯于把这些检查代码放在UI层 , 其实是不对的 , 从而造就了BLL层看起来就是一个中转的功能的错觉.
3.C# DAL层\BLL层\DbHelp层运用实例额 。。。代码是死的 , 层是死的 , 人是活的 。不用太在意层的划分 。
但是 , 为了程序的结构更清晰 , 和更便于维护 , 同时使多人并行开发不会直接影响它人的工作 , 分层是很有必要的 。
DAL Data Access Layer 数据访问层 , 这个层应该是负责程序与数据中心(除了数据库 , 还有存储数据的文件等)的交互 , 也就是将数据的增删改查的操作封装起来供其它层直接使用 , 这样一来 , 做此层的开发人员只需要关心数据 , 而不用关心业务逻辑;
BLL Business Logic Layer 业务逻辑层 , 这个层是负责程序的业务逻辑 , 也就是对程序具体功能模块和程序执行流程的实现 。此层的开发人员只需要关心程序的业务逻辑 , 而不需要关心数据是哪里来的 , 是怎么取得的等问题;
而DbHelp , 个人觉得这个也应该是包含在DAL里面的(注意是包含 , 而不是说DbHelp就是DAL),DbHelp一般是一个类 , 此类一般会提供数据库访问的通过属性和方法 。
简单的说 , DAL需要做的是从数据源取数据和向数据源存数据 , 并将这些按需要分成不同的方法提供给其它层(如BLL);BLL需要做的是将程序的功能实现 , 需要数据的时候调用DAL提供的取数据方法 , 保存数据的时候调用 DAL 的存数据方法 。