首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xamarin参考文献管理

Xamarin参考文献管理
EN

Stack Overflow用户
提问于 2017-10-04 01:41:52
回答 1查看 52关注 0票数 0

我的项目架构类似于Droid,

Data access layer Droid项目-> ->项目。

现在,如果我想直接访问Droid项目中数据访问层的任何方法,我需要将数据访问层的引用添加到Droid项目中。

有没有什么方法可以访问DAL to Droid poject的方法而不将其添加为引用文件?

EN

回答 1

Stack Overflow用户

发布于 2017-10-04 01:51:26

我认为最好的办法是引入一个位于PCL内部的服务层

  • SomeRepository : ISomeRepository

  • DataAccess

  • PCL
    • ISomeRepository
    • ISomeService
    • SomeService : ISomeService

  • Droid
    • ctor(ISomeService someService)

如果需要的话,您的服务层应该能够处理多个存储库,并且您还有一个额外的好处,那就是拥有一个与DAL对话的服务和另一个与您的API对话的服务,两者都使用相同的接口。

代码语言:javascript
复制
// DAL
public class SomeRepository : ISomeRepository
{
    public void DoSomething(){
        // do something
    }
}
代码语言:javascript
复制
// PCL
public interface ISomeRepository
{
    void DoSomething();
}

public interface ISomeService
{
    void DoThings();
}

public class SomeService : ISomeService
{
    private ISomeRepository _someRepository;
    SomeService(ISomeRepository someRepository)
    {
        _someRepository = someRepository;
    }

    public void DoThings()
    {
        // do things via DAL
    }
}

public class SomeProxyService : ISomeService
{
    private HttpClient _httpClient;
    SomeProxyService(HttpClient httpClient)
    {
        _httpClient = httpClient;
    }

    public void DoThings()
    {
        // do things via HTTP
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46550424

复制
相关文章

相似问题

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