Depolarımı nasıl gruplandırmalıyım merak ediyorum? Asp.net mvc'de gördüğüm örneklerde olduğu gibi ve kitaplarımda temelde veritabanı tablosu başına bir depo kullanıyorlar. Ancak bu, daha sonra alay etmek ve benzeri şeyler için birçok depoyu aramak zorunda kalmanıza yol açan birçok depo gibi görünüyor.
Bu yüzden onları gruplandırmam gerektiğini tahmin ediyorum. Ancak onları nasıl gruplandıracağımdan emin değilim.
Şu anda tüm kayıt işlerimi idare etmek için bir kayıt Havuzu oluşturdum. Ancak güncellemem gereken 4 tablo var ve bunu yapmak için 3 depomuz vardı.
Örneğin tablolardan biri bir lisans tablosudur. Kayıt olduklarında anahtarlarına bakar ve veritabanında olup olmadığını kontrol ederim. Şimdi bu lisans anahtarını veya bu tablodan kayıttan başka bir yerde başka bir şeyi kontrol etmem gerekirse ne olur?
Bir nokta giriş olabilir (anahtarın süresinin dolup dolmadığını kontrol edin).
Peki bu durumda ne yapacağım? Kodu yeniden yazmak (DRY'yi kırmak)? Bu 2 depoyu bir araya getirmeye çalışın ve yöntemlerden hiçbirinin başka bir zamanda gerekli olmayacağını umun (örneğin, userName kullanılıp kullanılmadığını kontrol eden bir yöntemim olabilir - belki buna başka bir yerde ihtiyacım olabilir).
Ayrıca, eğer onları bir araya getirirsem, aynı depoya giden 2 hizmet katmanına ihtiyacım olur, çünkü bir sitenin 2 farklı bölümü için tüm mantığa sahip olmanın uzun olacağını ve ValidateLogin (), ValdiateRegistrationForm () gibi isimlere sahip olmam gerektiğini düşünüyorum. , ValdiateLoginRetrievePassword () vb.
Ya da Depoyu yine de arayın ve etrafta kulağa tuhaf gelen bir isim mi var?
Yeterince genel bir ada sahip bir havuz yapmak zor görünüyor, böylece uygulamanızın birçok noktası için kullanabilirsiniz ve yine de mantıklı ve bir depodaki başka bir depoyu çağırmanın iyi bir uygulama olacağını düşünmüyorum?