Bir veritabanına erişmek için yaklaşık 50 yöntem ile büyük bir arayüz kullanıyorum. Arayüz bir meslektaşım tarafından yazıldı. Bunu tartıştık:
Ben: 50 yöntem çok fazla. Bu bir kod kokusu.
Meslektaşım: Bu konuda ne yapmalıyım? DB erişimi istiyorsunuz - buna sahipsiniz.
Ben: Evet, ama gelecekte belirsiz ve bakımı zor.
Meslektaşım: Tamam, haklısın, hoş değil. Arayüz o zaman nasıl olmalı?
Me: Her biri 10 yöntemi olan nesneleri döndüren yaklaşık 5 yöntem?
Mmmh, ama bu aynı olmaz mıydı? Bu gerçekten daha fazla netliğe yol açıyor mu? Çabaya değer mi?
Arada bir arayüz istediğim bir durumdayım ve akla ilk gelen şey büyük bir arayüz. Bunun için genel bir tasarım modeli var mı?
Güncelleme (SJuan'ın yorumuna yanıt olarak):
"Bir çeşit yöntem": Veritabanından veri almak için kullanılan bir arayüz. Tüm yöntemlerin formu (sözde kod)
List<Typename> createTablenameList()
Yöntemler ve tablolar tam olarak 1-1 ilişkisinde değildir, vurgu her zaman bir veritabanından gelen bir tür liste almanızdır.
List<WeatherDataRecord> createWeatherDataTable() {db.open(); return db.select("*", "tbl_weatherData");}
UserDao
ve aCustomerDao
ve aProductDao
)