Ben hesap ve termometrelerin önemsiz MVC örnekler çok okudum ama ben gerçek dünya uygulamaları için desen haritası gibi olamaz.
Eğer daha karmaşık bir senaryo olduğunu varsayalım. Eğer sepetinize eklemeden önce giriş kullanıcıların gerektiren bir web sitesi alışveriş sepeti söylüyorlar. Öncelikle, kullanıcı ürün sayfasını (/ ürün / ayrıntı) görür ve tıklamalar bir öğeyi (/ cart/add/207366) ekleyin. Kullanıcı giriş yapmış değil ama onlar alışveriş sepeti görünümü (/ sepeti / list) götüren, akışı hakkında akıllı olmak, daha sonra oturum açma sayfası (/ user / login) ziyaret etmek gerekir ve bu yüzden. Oradan da alışverişe devam etmek orijinal ürün detay sayfasında geri bağlayabilirsiniz.
Kullanıcıları, usercart ve ürünler: Kullanıcının biz 3 veritabanı tabloları var diyelim. / Modeli (ler) bu durumda ne olduğunu? Bu tüm akış ShoppingCart modelinin addProductToCartFlow fonksiyonu haline kapsüllü olurdu? Bu giriş / kimlik doğrulaması için kullanıcılar tablo erişmek ve sepeti içine Ürün detayları / fiyat çekmek için ürünler tablo erişmek gerekir beri, biraz dağınık gibi görünüyor.
Bunun yerine, sen ShoppingCart modeli kendi kendine yeten ve sadece arabası vb öğeleri kaldırarak, öğeleri ekleyerek ele söyleyebilirim? Kullanıcı olan oturum açan "mantık" daha sonra başka bir yerde kontrol olurdu: belki denetleyicisi kendisi? Bu, kontrol gibi "iş mantığı" yeraldığını ile kontrolörler çok MEŞGUL yapmak istiyorsunuz eğer kullanıcı oturum açmış olan, alışveriş sepeti vb, boş ve modeli sadece veritabanı tablo için güzel bir isim olursa kontrol.
Ya da belki, giriş-veya giriş-çıkış olmanın çok gerçeği gibi işlevleri ile ilgilenen bir UserAuthentication modelinin bir parçasıdır. Ya da belki kullanıcı bir giriş sayfası veya bir sepeti sayfası, ya da bir ürün detay sayfasında olması gerektiği konusunda bize bir UserPageState modeli gerek?
Sizce bu durum için en iyi MVC tasarım nedir?