2016-03-31 25 views
0

Hem nosql hem de SQL db sevicilerini desteklemek için belirli bir java projesinde veri erişim katmanı yazmak zorunda kaldım.Veri erişim katmanı için tasarım deseni

Kullanmak için kullanmakta olduğunuz db sunucusunu yapılandırmanız ve sahnelerin arkasındaki DAL'yi kullanan iş mantığı katmanını kullanmanız gerekir.

Güncelleştirmeyi kaldırma vb. Gibi temel işlemler için temel bir DAO arabirimi yazdım.

BL katmanı için, bir DAO fabrikasından alacağı temel arabirimi kullanarak soyut sınıflar yazdım. Bu sınıfları BL örneklerini kullanan başka bir fabrikadan almanız gerekiyordu.

İşler daha karmaşık hale geliyordu ve her birinin ayrı ayrı uygulanması gereken db için daha karmaşık sorgulara ihtiyaç duyduğunda kod boilerplate'e döndü ve sonra gizli yöntemleri kullanmak için DAO'nun türünü denetlemem gerekiyordu. temel arayüz tarafından. Bu, yalnızca bir model nesne için birçok sınıfla sonuçlandı.

TL; DR Db türü çalışma zamanına kadar bilinmediğinde, tek bir API ile nesneleri işlemek için basit ve ölçeklenebilir bir yönteme ihtiyacım var.

Sorum şu: Bu sorunu çözmenin daha iyi bir yolu var mı? Belki de hangi tasarım modelinin güzel olabileceğine aşina değilim.

Teşekkür ederiz!

+0

Query object Eğer Altıgen mimarisini (http://alistair.cockburn.us/Hexagonal+architecture) araştırdık mı? Bu sorunu çözmek için düzgün bir şekilde size bir anlayış sağlayabilir gibi geliyor. –

cevap

İlgili konular