首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SubSonic SimpleRepository和依赖注入

SubSonic SimpleRepository和依赖注入
EN

Stack Overflow用户
提问于 2009-07-31 19:37:44
回答 1查看 416关注 0票数 1

在一个学习曲线上。知道你们其中一位大师能帮我吗。

我正在调查SubSonic (SimpleRepository)和StructureMap。我真的很想让他们两个都明白。

为了便于使用,我希望使用SimpleRepository,并让我的模型定义数据库,而不是一开始就脱离或创建DB结构。

我创建了一个继承自SimpleRepository的具体类

代码语言:javascript
复制
public class DataRepository : SimpleRepository
{
    public DataRepository() :   
        base("Application", SimpleRepositoryOptions.RunMigrations) 
        { }  
}

将其添加到我的应用程序初始化

代码语言:javascript
复制
ObjectFactory.Initialize(
    x => x.ForRequestedType<DataRepository>()  
        .TheDefaultIsConcreteType<DataRepository>()  
        .CacheBy(InstanceScope.Hybrid));

现在我确信,在应用程序中的任何地方,我都使用相同的SimpleRepository。

我是不是把事情搞得太复杂了?或者我说的没错吧。我知道你不知道其他所有的细节,所以你也可以泛泛地跟我说。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-08-28 21:14:57

我认为你在这里遗漏了DI的核心思想之一。这个想法是使用接口从实际实现功能的具体类中抽象出调用代码。

代码语言:javascript
复制
public interface IDataRepository { }

internal class DataRepository : SimpleRepository, IDataRepository
{
}

ObjectFactory.Initialize(
    x => x.ForRequestedType<IDataRepository>()  
        .TheDefaultIsConcreteType<DataRepository>()  
        .CacheBy(InstanceScope.Hybrid));

现在,所有客户端代码应该只解析/引用IDataRepository接口。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1214470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档