2011-05-19 18 views
7

MVC uygulamalarında http üstbilgileri eklemek için doğru yer: denetleyicide veya görünümde?MVC: http header ekle: controller veya view?

(Teknik olarak denetleyicisi veya görünümünde ya yapmak mümkündür, ama daha iyi nasıl çözüm MVC modeli ile suit benim için açık değildir) o senaryoya bağlıdır

cevap

3

MVC modelinin amacı, açık bir görev ayrımı sunmaktır. Görünüm sunumu işler, denetleyici olayları işler ve model iş mantığını sağlar. (Birçok web çerçevesinin MVC modelini tam olarak takip etmediğini anlıyorum. Örneğin Django kendini bir MVT (ya da bunun gibi bir şey) olarak adlandırıyor).

Bu nedenle, HTTP üstbilgileri bir sunum detayı olduğu için görünümde gitmelidir. İyi yazılmış bir MVC uygulaması, aynı denetleyici ve model kullanarak web tabanlı olmayan görünümlere (masaüstü sürümü gibi) sahip olmanızı sağlar. Üstbilgileri denetleyiciye koymak, bu açık ayırmayı bozardı.

2

sanırım. Örneğin, bir denetleyici belirli güvenlik bilgilerini gerektirebilir ve istek/oturumda bulunmuyorsa, istemciye bir giriş görünümüne yönlendiren bir Location: başlığı gönderilir. Bir görünüm, içeriğin önbelleğe alınması gibi şeyleri denetlemek için gönderilen bir HTTP üstbilgisini uygulayabilir.

İlgili konular