2010-06-14 20 views
7

Bir nesneyi kalıcılık deposuna kaydederken, hizmet katmanının ve depo katmanının sorumluluklarını üstlenmeye çalışıyorum. Hizmet ve Deposu katmanları ile ilgili sorumluluklar

ayakta altında Benim şu anki

şudur:

I (formdan) kullanıcı tarafından gönderilen verilerden bir "Not" nesne oluşturduk benim denetleyicisi olarak

. Kullanıcı daha sonra "NoteService" üzerinde "Save" (bağımlılık enjeksiyonu yoluyla var) çağırır.

"NoteService" üzerindeki "Save" (Kaydet) yönteminde, iş mantığı doğrulamayı gerçekleştirir ve "NoteRepository" nin "Kaydet" yöntemini "Not" nesnesine iletirim.

"NoteRepository" nin "Kaydet" yöntemi, bu nesnede var olan bir birincil anahtar olup olmadığını denetler ve eğer öyleyse db'den bu nesneyi alır ve "Not" nesnesini kullanarak geçirilen özellikleri güncelleştirir. ve daha sonra db'ye geri kaydedilir. Birincil anahtar yoksa, nesne basitçe db'ye kaydedilir ve ardından yeni oluşturulan birincil anahtarla servise geri döndürülür.

+0

Sanırım ne diyorsunuz, sorun nedir? – uvita

+0

Sorum şu temelde işlerin yapılış şekliydi, yani bu doğru model/iş akışı – Gazeth

cevap

4

Endişelerinizden ayrılmanız bana oldukça iyi geliyor. Aynı kalıbı takip ediyoruz, ancak depo katmanı hakkında bir tane daha katman eklemeyi tercih ediyoruz. Biz buna alan katmanı diyoruz ve oradaki tüm iş mantığımızı gerçekleştiriyoruz. Hizmet katmanımız, hizmetlerimizi gelecekte bir ESB'ye yayınlamamız gerektiğinde, alanımıza yalnızca bir geçiştir.

Yaptığınız şeylerin en büyük yararı, çok fazla kişinin sahip olduğu denetleyicideki tüm işleri ve DB mantığını karıştırmamaktır. MVC'yi gerçekten takip etmek istiyorsanız, kontrol cihazlarınızın mümkün olduğunca hafif olmasını istersiniz.

İlgili konular