2017-10-03 10 views
0

私のプロジェクトアーキテクチャは、Droidの場合、Xamarin参照管理

のデータアクセスレイヤー - > PCLプロジェクト - > Droidプロジェクトのようなものです。

Droidプロジェクトのデータアクセスレイヤのメソッドに直接アクセスしたい場合は、データアクセスレイヤの参照をDroidプロジェクトに追加する必要があります。

参照ファイルとして追加せずに、DALのDOMEのメソッドにアクセスする方法はありますか?

答えて

0

私はあなたの最善の策は、あなたのPCL

  • の内側に住んサービス層にもたらすことになると思いますDATAACCESS
    • SomeRepository:ISomeRepository
  • PCL
    • ISomeRepository
    • ISomeService
    • SomeService:
  • ドロイドISomeService
    • CTOR(ISomeService someService)

あなたのサービス層は、必要に応じて複数のリポジトリを扱うことができるはず、とあなたが持っていますあなたのDALと話すサービスと、あなたのAPIと話す別のサービス(同じインターフェースを使用する)を持つという利点があります。

// DAL 
public class SomeRepository : ISomeRepository 
{ 
    public void DoSomething(){ 
     // do something 
    } 
} 
// 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 
    } 
} 
関連する問題