SORU
28 Kasım 2008, Cuma


Hizmet Katmanları ve Depoları

Şimdi kısa bir süre için MVC çerçeveler kullanıyorum ve gerçekten endişeleri ayrılır. Kontrolörleri biraz işim oldukça izin vermek gibi kötü bir alışkanlığı var. Gerçekten bazı tavsiyeler arıyorum.

Ben ilk MVC kullanmaya başladığımda ben sık sık veritabanı iş bittikten sonra kumanda modeller üzerinde düzenleme yapmak gerekiyordu. Bu modeller o iş geçti kötü olduğunu biliyordum. Ancak benim modelleri öğrenmek çok olmak istediğim gibi mutlu değilim.

Okumak için bir kaç şey yaptım ve insanlar denetleyicileri ve modellerini yalın, ben, bir servis katmanı, alarak tutmak olduğunu görüyorum.

Sadece hizmet katmanı ve bir depo birlikte çalışması gerektiğini anlamaya çalışıyorum. İşte benim varsayımlar, beni bu çalışma için iyi bir yol varsa haber verir misiniz?

  1. Kontrolör hiçbir manipülasyon veriler üzerinde yapılması gereken depoyu doğrudan arayabilir ve böyle bir hizmet olarak katman alakadar etmez
  2. Herhangi bir iş verileri (iş mantığı) için yapılması gerekenler bir kez bu hizmeti katmanı yapılmalı ve denetleyici hizmet katman olarak basit bir arama yapmak ve gerektiğinde
  3. Bir hizmette daha sonra depo olarak gerekirse verileri kalıcı olması gereken (varsa) kullanır iş mantığı.
  4. Modeller ideal yalın tutulmalıdır, hiçbir şey DTOs daha actings ideal
  5. Veri Doğrulama modelleri (Monoray doğrulaması öznitelikleri kullanarak) içinde yapılacaktır. Bir tane bile seviyor modelleri kirletici nitelikleri çok takdir ediyorum, ama bu başka bir tartışma. UI otomatik jQuery doğrulama için Monoray doğrulama özniteliklerinin yarar severim.

Bütün kodları etrafında tek sorumluluk prensibine, dolayısıyla kodlama şeklimi anlamaya çalışıyorum çevirmeye çalışıyorum.

Teşekkürler

CEVAP
28 Kasım 2008, Cuma


İlk olarak, her durumda işe yarayacak kurallar seti yoktur. Uygulama sen modeli nasıl projenin türüne ve karmaşıklığına bağlıdır. Burada bazı fikirler vardır, o söyledikten sonra

  1. Yanlış bir kumanda depo arama yok. Sadece kontrol iş mantığı içermediğinden emin olun.
  2. Hizmeti (bazı) iş mantığı ilgilenir ve diğer hizmetler bunu yapmak için kullanır. Depo servisi çağırmak yok Hizmet Türü.
  3. Modeligerekiriş mantığı içerir, aslında her zaman model koymak için çalışmalısınız. Dış veri iş mantığını gerçekleştirmek için gereken deposundan başka bir model ya) sonra bir servis oluşturmanız gerekir.
  4. Hiçbir şey modellerinde doğrulama ile yanlış. Öznitelikleri kullanarak ya da değil, bir zevk meselesidir (eğer bunu istiyorsanız o zaman iyi bir şey). Eğer çok karmaşık (kural harici bir set oluştur) alırsa doğrulama modeli dışında hareket.

En önemlisi, doğru (bu genellikle doğru cevap) neyse onu yap.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CodingMadeEasy

    CodingMadeEa

    25 EYLÜL 2010
  • GoProTutorials

    GoProTutoria

    18 NİSAN 2011
  • tutvid

    tutvid

    19 AĞUSTOS 2006