MVC'nin Avantajları ASP ve PHP gibi prosedürel dillerde geliştirilen çoğu web uygulaması, hibrit katmanda veri programlama için ilk geliştirme şablonuna sahiptir. Örneğin, bir talebi doğrudan veritabanına gönderip HTML olarak göstermek genellikle hızlıdır, ancak veri sayfalarının ayrılması çok doğrudan olmadığı için iş modelinin görünümünü veya modelin yeniden kullanılabilirliğini yansıtmak zordur. Ürün tasarımının esnekliği çok küçük ve kullanıcıların değişen ihtiyaçlarını karşılamak zordur. MVC, uygulamaların katmanlanmasını gerektirir, ancak ekstra emek gerektirir, ancak ürünün yapısı nettir ve ürünün uygulaması model aracılığıyla daha iyi yansıtılabilir. Her şeyden önce, bir modelin yeteneğine karşılık gelen birden fazla bakış açısı olmalıdır. Kullanıcı ihtiyaçlarındaki hızlı değişikliklerle birlikte, uygulamanıza erişmenin birden fazla yolu olabilir. Örneğin, sipariş modelinde bu sistemden, çevrimiçi siparişlerden veya diğer sistemlerden siparişler olabilir, ancak siparişlerin işlemesi aynıdır, yani emirlerin işlenmesi aynıdır. MVC tasarım desenine göre, tek bir sipariş modeli ve birden fazla görünüm sorunu çözebilir. Bu, kod kopyalamayı azaltır, yani kod bakım miktarını azaltır ve model değiştiğinde bakımı kolaydır. İkinci olarak, modellerin geri dönen verilerinin herhangi bir görüntü formatı olmadığından, bu modeller doğrudan arayüz kullanımına da uygulanabilir. Üçüncü olarak, bir uygulama üç katmana ayrıldığından, bazen katmanlardan birinin değiştirilmesi uygulama değişikliğini sağlar. Bir uygulamanın iş sürecindeki veya iş kurallarındaki bir değişiklik yalnızca MVC model katmanında değişiklik gerektirir. Kontrol katmanı kavramı da geçerlidir, çünkü farklı modelleri ve farklı görüşleri birleştirerek farklı istekler tamamlanır; böylece kontrol katmanı kullanıcı isteği izinleri kavramını içeriyor denebilir. Son olarak, yazılım mühendisliği yönetimini de kolaylaştırır. Farklı katmanlar kendi görevlerini yerine getirdiği için, farklı uygulamaların her katmanı aynı özelliklere sahiptir ve bu da mühendislik ve araç kullanımı yoluyla hipervizör kodu oluşturulmasına yardımcı olur. MVC'nin eksiklikleri MVC'nin eksiklikleri aşağıdaki yönlerde yansımaktadır: (1) sistem yapısının ve uygulamanın karmaşıklığını artırır. Basit arayüzler için, MVC'yi modelleri, görünümleri ve denetleyicileri ayırmak için sıkı bir şekilde takip etmek, yapının karmaşıklığını artırır ve çok fazla güncelleme işlemi üreterek operasyonel verimliliği düşürebilir. (2) view ve kontrolcü çok sıkı bağlantı. Görünümler ve kontrolörler ayrı ama birbirine yakın parçalardır ve kontrolcü olmadan görünümlerin kullanımı sınırlıdır ve tam tersi de geçerlidir; bu da bağımsız olarak yeniden kullanımlarını engeller. (3) model verilerine verimsiz erişimi gör. Model işletim arayüzüne bağlı olarak, yeterli görüntü verisi elde etmek için görüntünün birden fazla kez çağrılması gerekebilir. Gereksiz yere değişmemiş verilere erişim de operasyonel performansa zarar verebilir. (4Şu anda MVC mimarisi gelişmiş arayüz araçları veya yapıcılar tarafından desteklenmemektedir. Bu araçların MVC ihtiyaçlarına göre uyarlanması ve ayrılmış parçaların oluşturulması maliyeti yüksektir, bu da MVC kullanımını zorlaştırır.
|