Birincisi, kimse dupe çığlık atmadan önce, basit bir başlıkta özetlemekte zorlandım. Başka bir başlık da "Bir etki alanı modeli ile MVC modeli arasındaki fark nedir?" veya "Model nedir?"
Kavramsal olarak, bir Modeli, görünümler ve denetleyici tarafından kullanılan veri olarak anlıyorum. Bunun ötesinde, modeli neyin oluşturduğuna dair çok sayıda farklı görüş var gibi görünüyor. Etki alanı modeli nedir, uygulama modeli, görünüm modeli, hizmet modeli vb.
Örneğin, depo modeli hakkında sorduğum yakın tarihli bir soruda, havuzun modelin bir parçası olduğu boş gösterildi. Ancak modelin kalıcılık modelinden ve iş mantığı katmanından ayrılması gerektiğine dair başka görüşler okudum. Sonuçta, Depo modelinin somut kalıcılık yöntemini modelden ayırması gerekmiyor mu? Diğer insanlar, Etki Alanı modeli ile MVC modeli arasında bir fark olduğunu söylüyor.
Basit bir örnek verelim. MVC varsayılan projesine dahil olan AccountController. İçerdiği Hesap kodunun kötü tasarıma sahip olduğuna, SRP'yi ihlal ettiğine vb. Dair birkaç görüş okudum. Bir MVC uygulaması için "uygun" bir Üyelik modeli tasarlanacak olsaydı, bu ne olurdu?
ASP.NET hizmetlerini (Üyelik sağlayıcısı, rol sağlayıcısı, vb.) Modelden nasıl ayırırsınız? Ya da hiç mi yapardın?
Gördüğüm gibi, model "saf" olmalı, belki de doğrulama mantığı ile .. ama iş kurallarından ayrı olmalıdır (doğrulama dışında). Örneğin, yeni bir hesap oluşturulduğunda birisine e-posta gönderilmesi gerektiğini söyleyen bir iş kuralınız olduğunu varsayalım. Benim görüşüme göre bu gerçekten modele ait değil. Peki nereye ait?
Bu konuya ışık tutmak isteyen var mı?