GÜNDEM

Yazılım Dünyasında Katmanlı Mimari ve MVC Mimarisi

En yaygın mimari desen, n-katmanlı mimari desen olarak da bilinen katmanlı mimari desendir. Bu model, çoğu Java EE uygulaması için fiili standarttır ve bu nedenle çoğu mimar, tasarımcı ve geliştirici tarafından yaygın olarak bilinir. Katmanlı mimari modeli, çoğu şirkette bulunan geleneksel BT iletişimi ve organizasyonel yapılarla yakından eşleşir ve bu da onu çoğu iş uygulaması geliştirme çabası için doğal bir seçim haline getirir.

Desen Açıklaması

Katmanlı mimari deseni içindeki bileşenler, her katman uygulama içinde belirli bir rol üstlenen (örneğin, sunum mantığı veya iş mantığı) yatay katmanlar halinde düzenlenir. Katmanlı mimari deseni, desende bulunması gereken katmanların sayısını ve türlerini belirtmese de, çoğu katmanlı mimariler üç standart katmandan oluşur; Sunum(Presentation), İş(Business) ve Veri (Data).

Katmanlı mimari deseninin her katmanı, uygulama içinde belirli bir role ve sorumluluğa sahiptir. Örneğin, bir sunum katmanı, tüm kullanıcı arabirimi ve tarayıcı iletişim mantığını yönetmekten sorumlu olurken, bir iş katmanı, istekle ilişkili belirli iş kurallarını yürütmekten sorumlu olacaktır. Mimarideki her katman, belirli bir iş talebini karşılamak için yapılması gereken iş etrafında bir soyutlama oluşturur. Örneğin, sunum katmanının müşteri verilerinin nasıl alındığını bilmesi gerekmez, bu bilgiyi yalnızca belirli bir biçimde bir ekranda görüntülemesini yapar. Benzer şekilde, iş katmanının bir ekranda görüntülenmek üzere müşteri verilerinin nasıl biçimlendirileceği veya hatta müşteri verilerinin nereden geldiği ile ilgilenmesi gerekmez; yalnızca Veri katmanından verileri alması, verilere karşı iş mantığını gerçekleştirmesi (örneğin, değerleri hesaplaması veya verileri toplaması) ve bu bilgileri sunum katmanına iletmesi gerekir.

Katmanlı mimari modelinin güçlü özelliklerinden biri, endişelerin bileşenler arasında ayrılmasıdır. Belirli bir katmandaki bileşenler, yalnızca o katmanla ilgili mantıkla ilgilenir. Örneğin, sunum katmanındaki bileşenler yalnızca sunum mantığıyla ilgilenirken, iş katmanında bulunan bileşenler yalnızca iş mantığıyla ilgilenir. Bu tür bileşen sınıflandırması, mimarinize etkili roller ve sorumluluk modelleri oluşturmayı kolaylaştırır ve ayrıca iyi tanımlanmış bileşen arabirimleri ve sınırlı bileşen kapsamı nedeniyle bu mimari modelini kullanarak uygulamaları geliştirmeyi, test etmeyi, yönetmeyi ve bakımını kolaylaştırır.

MVC

"Model-View-Controller" anlamına gelir. MVC, birbirine bağlı üç parçadan oluşan bir uygulama tasarım modelidir. Model (veri), View (kullanıcı ara yüzü) ve Controller (giriş işleyen işlemler) içerirler.

MVC model veya "desen", modern kullanıcı ara yüzleri geliştirmek için yaygın olarak kullanılır. Web uygulamalarının yanı sıra masaüstü veya mobil için bir program tasarlamak için temel parçaları sağlar. Farklı modeller, görünümler ve denetleyiciler nesneler olarak ele alınıp bir uygulama içinde yeniden kullanılabildiğinden, nesne yönelimli programlama ile iyi çalışır.

Aşağıda MVC'nin her yönünün bir açıklaması bulunmaktadır;

1. Model

Model, bir program tarafından kullanılan verilerdir. Bu bir veri tabanı, dosya veya bir video oyunundaki bir simge veya karakter gibi basit bir nesne olabilir.

2.View

Görünüm, bir uygulama içindeki nesneleri görüntüleme aracıdır. Örnek olarak; ekranın, düğmelerin veya ekran içindeki metnin görüntülenmesini içerir. Kullanıcının görebileceği her şeyi içerir.

3. Controller

Bir Controller hem modelleri hem de görünümleri günceller. Girişi kabul eder ve ilgili güncellemeyi gerçekleştirir. Örneğin; bir denetleyici, bir video oyunundaki bir karakterin niteliklerini değiştirerek bir modeli güncelleyebilir. Oyunda güncellenen karakteri göstererek görünümü değiştirebilir.

MVC'nin üç parçası birbirine bağlıdır. View, kullanıcı için modeli görüntüler. Controller, kullanıcı girişini kabul eder ve modeli günceller ve buna göre görüntüler. Uygulama tasarımında MVC gerekli olmasa da, birçok programlama dili ve IDE, MVC mimarisini destekleyerek geliştiriciler için ortak bir seçim haline getirir.

{ "vars": { "account": "G-DWD9KP42D3" }, "triggers": { "trackPageview": { "on": "visible", "request": "pageview" } } }