s#arp体系结构查询 - 服务和存储库

时间:2010-07-12 15:09:42

标签: c# s#arp-architecture

我的控制器直接使用服务而不是存储库。这些服务放在ApplicationServices项目中:

public XYZService
        (
            IBlaRepository BlaRepository,
            IBla1Repository Bla1Repository
        )
        {
            Check.Require(BlaRepository != null, "BlaRepository may not be null");
            this.BlaRepository = BlaRepository;
        ....

这很好用。

存储库实现如下:

public interface IBlaRepository : IRepository<Bla> (placed in Core/DataInterfaces)

public class BlaRepository : Repository<Bla>, IBlaRepository (placed in Data)

有时我可以使用“普通”的尖锐架构存储库。有没有办法将它们传递给上述服务?我必须在某处注册吗?

为了澄清这一点 - 服务的构造函数如下所示:

public XYZService
        (
            Repository<UUU> UUURepository

...

希望这是有道理的。

谢谢!

克里斯

1 个答案:

答案 0 :(得分:2)

克里斯,     您需要做的只是参考您的存储库:

    private readonly IRepository<Bla> _blaRepository; 

    public BlaService(IRepository<Bla> blaRepository) 
    { 
         _blaRepository = blaRepository; 
    }

这将允许Windsor将存储库注入您的控制器,而不需要您。

艾力