Sadece 3 yönteme ihtiyaç duyduğumuz devasa bir arayüzü ortaya çıkaran bir üçüncü taraf hizmetine bağımlılığımız var. Ayrıca, arayüz sık sık değişir ...
Arayüzü projemizdeki bir sınıfa sarmaya ve sadece ihtiyacımız olan yöntemleri ortaya çıkarmaya karar verdim.
Ancak, dönüş değerlerini nasıl işlemem gerektiğinden emin değilim ... Arabirim türü bir nesne döndürür Storage. Dahili StorageModelolarak a Storage.
Eşleştiriciye ne döndürürdünüz: Storageveya StorageModel? StorageServiceEnjekte edilen sargının bağımlılığını elde eden bir DataService'imiz var .
Şu anda bunu şöyle yapıyorum:
public class StorageService
{
private readonly IExternalStorageWrapper externalStorageWrapper;
public StorageService(IExternalStorageWrapper externalStorageWrapper)
{
this.externalStorageWrapper = externalStorageWrapper;
}
public StorageModel GetStorage(int storageId)
{
return this.externalStorageWrapper.GetStorage(storageId).ConvertToStorageModel();
}
}
public class ExternalStorageWrapper : IExternalStorageWrapper
{
public Storage GetStorage(int storageId)
{
using(var ext = new ExternalStorage())
{
return ext.GetStorage(storageId);
}
}
}
Ne söylerdiniz:
- Yukarıdaki gibi iyi, sargının dış
Storagenesneyi ve iç nesnenin iç nesneyiStorageServicedöndürmesi iyiStorageModelmi? - Yoksa
StorageModelzaten bir sargıya iade eder misiniz ?