.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是为了保证耦合度。
    这只是最简单的一种调用,可以继续优化,比如配置文件+反射+缓存。
    架构、设计模式之类的学习需要多实践,只有实践了才能发现一些问题,如性能,代码冗余等。

追问

有的说不同数据库生成不同的dal对象这个怎么弄,它是怎么判断不同数据库的,怎么生成?

温馨提示:内容为网友见解,仅供参考
无其他回答

.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...

C# Bll层 到Dal层中间的IDal层 参数为实体类的 问题~!伤脑筋!
bool IDal.ICls.insertCls(Mod.AbCls AbCls1)这里用AbCls 作参数不太合适吧~~个人看法。每个实体要有它自己相应的dal接口才合理啊,因为你查询什么的有好多都是特有的,你抽象不出接口的,或者说你要抽象的接口应该再往下放一层,也就是对数据库CRUD那里 ...

在.NET中 DAL+IDAL+Model+BLL+Web是什么意思
业务逻辑层(BLL):主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理。如果说数据层是积木,那逻辑层就是对这些积木的搭建。数据访问层(DAL):主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库...

.net中 web,account,bll,DALFactory,IDAL,Model,sqlserver怎么理解
web 就是网站---表示层 BLL 业务处理===业务层 idal 数据接口---接口层 dal 数据处理===实现接口层 dalfactory 数据工厂===工厂模式中用来指定谁来处理数据 model 模型也就是那些定义的地段属性 sqlserver 出路和sqlserver有关的操作

在.NET中 DAL+IDAL+Model+BLL+Web是什么关系,彼此之间是怎么调用的...
理论上web 调用BLL业务层就行了,有时候也会用到Model层,而业务层包会调用model层和IDAL层,IDAL 是 DAL层的类要实现的接口.DAL层有时也会调用Model层 所以Model是最独立的一个层,不会调用其他层,只被其他层调用.

asp.net 网站项目 如何实现三层架构?
UI层就是与用户交互的界面、用户通过UI层向BLL层发出请求,BLL层再向DAL层发出请求,DAL链接数据库将所要的数据取出,再返回给业务逻辑层,BLL层对数据进行相应处理后呈现在界面上给用户。实际应用中根据具体情况会再细分一些,于是便有了你说的多层的结构,层虽然多但没有脱离三层架构,只不过是细分了...

深入浅出C#三层架构
UerInfo user = DAL SelectUser(User) return (userInfo Id != null) } 那么DAL就无需实现IsExist()方法了 BLL中也就有了逻辑处理的代码 UserModel cs 实体类 这个东西 大家可能觉得不好分层 包括我以前在内 是这样理解的 UI?àModel?àBLL?àModel?àDAL 如此则认为Model在各层之间起到了一个数据传输...

相似回答