MVC kurumsal yazılımlar geliştirmek için oldukça kabul görmüştür.Bu teknoloji oluşan yapıyı en temelinden ele alarak en anlaşılabilir ve kontrol edilebilir şekilde incelenmesini geliştirilmesini ve yönetilmesini sağlar.MVC yapısı model-view-controller olarak bilinir. Model data katmanı view son kullanıcıya sunulan arayüz katmanını controller ise bu iki parçacık arasındaki iletişimi sağlayarak asıl işin yapıldığı katmanı oluşturur. Aşağıdaki şemada mvc kurumsal mimarisi temellerini ve aralarındaki iletişimi görüyoruz.
Sunum katmanı bu mimaride en üstte bulunur. Son kullanıcı için sunulan diğer katmanlar kontrolünde oluşturulan kısımdır.windows form uygulamaları , web applicationlar bunlara örnek olabilir. En alt kısımda Data katmanı bulunur. Oracle, MSSQL, MySQL bu kısımda kullanılan veritabanı çeşitleridir.Data access layer katmanı veri katmanıdır.Projelerde genellikle .dal uzantısıyla kullanılır. Bu katmanı oluştururken ikiye bölüyoruz.Biri object interface ve diğeri object concrete class. Concrete kısmımız bizim için değişkendir katmanın somut kısmıdır, interface kısmı ise daha soyuttur. DAL’da ki metotlarımız interface’e gelecektir. İş katmanı ise
bu iki katman arasındaki bağlantıyı kurar.Bütün iş yükü burdadır.Bu katmana Manager diyebiliriz. Interface layerımız ise interface yapılarıyla tasarlanır. İş katmanımızdaki metotlar interface’e gelecektir.Web API katmanımız sayesinde ise geliştirdiğimiz uygulamanın tüm kontrolerini
elimizde tutarak dış dünya ile iletişimini sağlamış oluyoruz. JSON veya XML tabanlı olarak HTTP üzerinden RESTful servisler geliştirmek için kullanılır. Bu mimaride bütün katmanlarda iletişim halinde olan ve en önemli lerinden diyebileceğimiz bir diğer katman entity layerdır. Bu katmanda Classlarımız vardır. Bu katmanda veri tabanı ile nesneye yönelik programlama arasındaki ilişki kurulur. Kurumsal mimarinin olmazsa olmaz parçaları bu şekilde.Projemize ekleyebileceğimiz isteğimize göre çoğaltabileceğimiz kısım ise Cross Cutting yani ‘çapraz kesişim’dir.Bu katmanda entity layer gibi mimariyi dikey olarak keser ve her katmanda vardır. Caching ön bellek yönetimidir.Örnek vermek gerekirse bir web projesi yaptık ve çok değişmeyen ama çok kullanılan tablolarımız var ve bu yüzden performans sıkıntısı çekiyoruz.Bu gibi durumlarda her defasında veri tabanına eklemek yerine cache’e ekliyoruz. Exception hendlear hata yönetim kısmıdır.Hataları yakalar ve ilgili yere bildirir.Bu katman sayesinde projeyi açıp her zaman test yapmaktan kurtuluyoruz.Validation ise doğrulama kontroldür.Arayüzdeki bir kontrol yada taraftaki bir validation nesnenin yada değişkenin doğrulamasıdır.Son olarak Loggingde proje içerisinde istediğimiz olayları loglamak için kullanılır. MVC kurumsal mimarisinin genel bir özeti bu şekildedir.