2016-03-25 14 views
0

depo deseni Uygulaması ben depo deseni ile bir android uygulama üzerinde çalışıyoruz ama ben android depo uygulama pratik bir dizi uygulama bulamadı. Tavsiye edilen bir eğitici mi?Android

cevap

2

Aynı soruya girmek ve Android'de Depo için farklı yaklaşımlar karşılaştırır iyi bir makale buldum: Evolution of repository pattern

Bazı şeyleri overengineer değil düşündüren, yaklaşık bir tanınmış bir yaklaşım, Clean architecture konuşur.

Bu yayınları anlamak için özellikle desen ve depo kullanma konusunda deneyim sahibi olmalısınız. Benim düşünceme göre, bu mesajlar sizi doğru uygulamaya yönlendirebilir.

-1

Uygulama Havuz modeli oldukça kolaydır, sadece CRUD yöntemleriyle arayüz oluşturmalı ve bunu etki alanı mantığınızda kullanmalısınız. Örneğin

:

class CreateEntityException; 
class ReadEntityException; 
class UpdateEntityException; 
class DeleteEntityException; 

interface Repository<Entity> { 
    Entity create(Entity entity) throws CreateEntityException; 
    Entity read(long entityId) throws ReadEntityException; 
    Entity update(Entity entity) throws UpdateEntityException; 
    void delete(long entityId) throws DeleteEntityException; 
} 

Yöntemleri saymak ve imza Kendi projede farklı olabilir, ancak bir yaklaşım aynıdır. Bundan sonra, bir veya başka veri kaynağını (ContentProviderRepository, OrmLiteRepository, RealmRepository vb.) Kapsülleyen somut bir depo uygulaması yaratabilirsiniz. Daha sonra Bağımlılık Enjeksiyon prensibini kullanarak doğru uygulamayı enjekte etmelisiniz.

Repository kalıplarını içeren birkaç iyi kitap var. Desen, platformdan bağımsızdır, bu nedenle her platformu uygulamak ve kullanmak kolaydır.

https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215

https://www.manning.com/books/functional-and-reactive-domain-modeling

+1

çözüm bir bağlantı açığız ama cevabınızı emin olun onsuz yararlıdır: ([bağlantıya etrafındaki bağlamı eklemek] // meta.stackexchange.com/a/8259) böylece diğer kullanıcılarınızın ne olduğu ve neden orada olduğu hakkında bazı fikirleri olacak, ardından hedef sayfanın kullanılamaması durumunda linklediğiniz sayfanın en alakalı bölümünü belirtin. [Bir bağlantıdan biraz daha fazla olan cevaplar silinebilir.] (// stackoverflow.com/help/deleted-answers) – paper1111

+0

Bu bağlantı soruyu yanıtlayabilirken, cevabın temel kısımlarını burada eklemek ve sunmak daha iyidir referans için bağlantı. Bağlantılı sayfa değiştiğinde yalnızca bağlantı yanıtları geçersiz olabilir. - [Yorum yazıla] (/ review/düşük kaliteli yazılar/17473408) – Cheesebaron