编程语言
首页 > 编程语言> > C#-企业库统一和数据访问块

C#-企业库统一和数据访问块

作者:互联网

我正在学习企业图书馆DAL.

据我了解,我可以通过访问我的数据
数据库db = DatabaseFactory.CreateDatabase();
以及通过统一容器解析器

如果我可以使用DatabaseFactory进行相同的操作,我为什么不知道为什么需要统一容器?
 使用团结的好处是什么?

解决方法:

统一容器不仅仅是配置和创建企业库对象. Unity可以自动为您创建对象的一种方法是,只需在构造函数中声明所需的对象.

public class Foo
{
    IExceptionManager _em;
    IDatabase _db;
    IServiceAgent _sa; // custom made service agent for accessing some other web service
    public Foo(IExceptionManager em, IDatabase db, IServiceAgent _sa)
    {
        _em = em;
        _db = db;
        _sa = sa;
    }
}

在上面的示例中,成员级别变量_em,_db和_sa将由Unity容器自动为您创建.您可以在配置文件中注册映射到接口的任何具体类型.您甚至可以将Unity配置为在调用者和目标对象之间放置代理对象,该代理对象可以执行日志记录,跟踪等操作(策略注入).

依赖注入和策略注入是复杂的主题,因此我鼓励您阅读EntLib和Unity随附的Unity文档.如果您在系统的关键区域中使用Unity,那么在模拟&单元测试,横切关注点,仪器和健康监控.

标签:enterprise-library,c
来源: https://codeday.me/bug/20191210/2100081.html