首页新闻找找看学习计划

简单的三层框架引入依赖注入

0
悬赏园豆:20 [已解决问题] 解决于 2016-11-17 00:42

表现层: UI

业务层: IService    Service  两个,一个接口,一个实现。

 

数据层: IData      Data   两个,一个接口,一个实现。

 

引用关系Service引用IData,构造器注入数据层,

 

现在请问下怎么在Service不引用Data包的情况下实现取Data的数据?

或者我的想法就错了,Service包必须引用Data包。

同样的道理,UI层能只引用Iservice实现系统的运行吗?

 

越天的主页 越天 | 初学一级 | 园豆:26
提问于:2016-07-27 15:56
< >
分享
最佳答案
0

这几天刚好看在Autofac,像你这种情况,UI -> Services -> Data,在Services层,不用依赖注入时得在构造函数里new SQLData或OracleData取得数据,现在用依赖注入后,你只要在Global.asax的  Application_Start()里注册builder.RegisterType<SqlData>().As<IData>().InstancePerLifetimeScope();当Services层里用到Idata接口时,就自动帮你生成一个SQLdata.

收获园豆:20
happydaily | 小虾三级 |园豆:581 | 2016-07-28 11:41
其他回答(1)
0

使用Ioc容器,你可以查看下Autofac 依赖注入框架 使用
或者是其他的,找下资料就好了。

seayxu | 园豆:5468 (大侠五级) | 2016-07-27 16:04

能具体一点吗?

你都是怎么设计的这些包的关系

支持(0) 反对(0) 越天 | 园豆:26 (初学一级) | 2016-07-27 17:15

@越天: 这么说吧,具体实现要依赖抽象和接口,通过Ioc容器注入。
分层的话,看你自己需要了,普通三层也可以的。

支持(0) 反对(0) seayxu | 园豆:5468 (大侠五级) | 2016-07-27 22:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册