Ne için HMVC Mimarlık kullanın miyim?

3 Cevap php

ben kullanıyorum PHP framework (Kohana) son HMVC mimarisi uyguladı. Ben istekleri birbirlerinin üstüne yapılan bir katmanlı mvc olduğunu okudum. Bu biraz ajax gibi sadece tamamen sunucu tarafı. Ben bazı deneyleri bunu biraz uygulanmış ama (ben bunun için bir ihtiyaç bulamıyorum çünkü) benim projeleri herhangi bunu uygulayamazsınız. Daha önce hiç bir projede HMVC kullandınız mı? Sana nasıl yardımcı oldu?

3 Cevap

Bu biraz ajax gibi sadece tamamen sunucu tarafı.

Bu iyi bir benzetme.

Eğer birkaç sayfalarında yeniden edeceğiz içeriği modüler bit - HMVC sayfalara widget eklemek için güzel. Örneğin, bir alışveriş sepeti eklendi. Farklı şekillerde aynı şeyi yapabilirdi:

  1. Bir kütüphane. Biz bir kütüphane içine bir denetleyicisi yeniden kod hareketli alışık. Ardından, denetleyicisi, bir görünüm değişken içine kütüphane çağrısının sonuçlarını yük olabilir.
  2. Bir görünüm. Sen ana görünümünde (kısmi) bir görünüm yük olabilir. Kısmi bu görünümü modelleri içerik çekmek olabilir. Görüşlerden modelleri çağrılması her zaman popüler değil ama ille de yanlış değildir.

Ancak, Kohana HMVC birkaç avantajı vardır:

  1. Tutarlılık - HMVC istekleri dış http istekleri olarak aynı kabul edilir.
  2. Güç - HMVC açılış yolları dahil http istekleri gibi aynı Kohana kaynaklara sahip.
  3. Geçmeli - manzaralı çağrıldığında, bir HMVC isteği denetleyicisi (bir görünüme kütüphane sonuçları atar) ve bir görünümü yer tutucu arasında bir bağlantıya sahip değildir. Iki karşıt olarak yalnızca tek bir dosyaya dokunun.

Ben Kiall ile bağlantılı olarak http istekleri ile HMVC için davayı ve ölçeklenebilirlik takdir başlıyorum. Aynı şey CURL ile yapılabilir. Bununla birlikte, en başından itibaren CURL daha Kohana HMVC ile tasarımı için daha fazla doğal olabilir.

Eh - Sam de Freyssinet (aka samsoir), bir Kohana geliştiriciler, son zamanlarda bu soru ile ilgili bir makale yayınladı.

http://techportal.inviqa.com/2010/02/22/scaling-web-applications-with-hmvc/

Iken onun değil HMVC için tek kullanım - Bu onun daha popüler kullanımlarından biridir. Makale (saniyede istekleri sayısı, gibi) ölçeklenebilirlik ile ilgilenmektedir ancak kod ölçeklenebilirlik aynı fikirleri ile "çözüldü" olabilir (olduğu gibi, sert / ne kadar kolay korumak için kod) ..

Bu yardımcı olur umarım :)

(Yan not - onun kod örnekleri Kohana Sam'in kişisel değişikliklere dayanmaktadır - makalenin sonundaki nota bakın)

Basit bir projede bile HMVC mimari model için gerçek bir kullanım bulmak olmayabilir. Ve hatta denemek gerekir. Burada neden:

Bir HMVC mimarisini oluştururken bütün mesele MVC biraz DRY'er yapmak oldu. HMVC ana faydalarından biri kod yeniden olduğunu. Bu (- değil, aynı noktada bazen diğer kez) tüm uygulama üzerinde tekrarlamak parçaları var sağlar.

Eğer küçük bir test uygulama yazıyorsanız, herhangi bir tekrarlanabilir fragmanları orada olmayacak. Böylece, dolu HMVC potansiyelini kullanmaya gerek yok. Sen sadece standart MVC olduğunu HMVC, 1 düzeyi ile sonuna kadar.

Here you can read the original publication, which introduced HMVC. 2000 yılında.