İçeriğe atla

Model-View-Controller

Bileşenlerin tipik MVC işbirliği

Model-View-Controller (MVC), yazılım mühendisliğinde kullanılan bir "mimari desen" veya bir "tasarım deseni[1]"dir. Kullanıcıya yüklü miktarda verinin sunulduğu karmaşık uygulamalarda veri ve gösterimin soyutlanması esasına dayanır. Böylece veriler (İng. İngilizcemodel) ve kullanıcı arayüzü (İng. İngilizceview), birbirini etkilemeden İngilizcecontroller adı verilen ara bileşenle veri gösterimi ve kullanıcı etkileşiminden veri erişimi ve iş mantığını çıkarma suretiyle çözümlenmektedir.

Günümüzde Microsoft'un ASP.NET MVC Framework'u geliştirmesi ile çoğu kişi için MVC denince akla bu çerçeve gelmektedir. Hâlbuki Microsoft şirketinin henüz yeni kurulmuş olduğu dönemlerde bu tasarım kalıbı vardı. Deseni ilk defa 1979[2] yılında Trygve Reenskaug tarafından tanımlanmış ve sonra Xerox araştırma laboratuvarlarında Smalltalk üzerine çalışmalarına devam etmiştir. Detaylı orijinal gerçekleştirim İngilizceApplications Programming in Smalltalk-80(TM): How to use Model-View-Controller[3] (Smalltalk-80'de uygulama programlaması: Model-View-Controller nasıl kullanılır?) adlı yazıda tanımlıdır.

Kaynakça

  1. ^ Archiveddocs. "Model-View-Controller". docs.microsoft.com (İngilizce). 30 Ekim 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Mart 2022. 
  2. ^ "MVC XEROX PARC 1978-79 (İngilizce)". 25 Nisan 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Ekim 2007. 
  3. ^ "MVC (İngilizce)". 1 Ağustos 2009 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Ekim 2007. 

Ayrıca bakınız

İlgili Araştırma Makaleleri

Veri madenciliği, büyük ölçekli veriler arasından faydalı bilgiye ulaşma, bilgiyi madenleme işidir. Büyük veri yığınları içerisinden gelecekle ilgili tahminde bulunabilmemizi sağlayabilecek bağıntıların bilgisayar programı kullanarak aranması olarak da tanımlanabilir.

AJAX, İnternet sayfalarında JavaScript ve XMLHttpRequest kullanımı ile etkileşimli uygulamalar yaratan tekniğin adıdır.

<span class="mw-page-title-main">.NET Framework</span> Yazılım

.NET Framework, Microsoft tarafından geliştirilen, açık İnternet protokolleri ve standartları üzerine kurulmuş bir "uygulama" geliştirme platformu. Daha önce Sun Microsystems tarafından geliştirilmiş olan Java platformuna önemli benzerlikler göstermektedir.

<span class="mw-page-title-main">CakePHP</span>

CakePHP, PHP üzerinde geliştirilmiş açık kaynak kodlu, MVC (Model-View-Controller) mantığıyla geliştirilmiş, Ruby on Rails'in PHP karşılığı olan frameworktür.

<span class="mw-page-title-main">Ruby on Rails</span>

Ruby On Rails ya da Rails, Ruby diliyle yazılmış, açık kaynak kodlu bir web uygulama geliştirme çatısıdır. Web uygulamaları için ihtiyaç duyulabilecek bütün bileşenleri barındıran Rails; model-view-controller, don't repeat yourself, convention over configuration yaklaşımlarını temel alır.

ASP.NET teknolojisinin üretilen bir web sayfasına ait vaziyeti (state) kodlanmış olarak sakladığı görünmez form elemanı.

<input type="hidden" name="__VIEWSTATE" value="dDwxODY0MDMxMTMxO3Q8O2w8aTwxPjs+O2w8dDw7bDxpPDU+O2k8Nz47aTw5Pjtp2w8dDw7bDx..." />

ASP.NET MVC Framework "Community Technology Preview", 10 Aralık 2007 tarihinde, Microsoft'un ASP.NET için geliştirdiği Model-view-controller iskeletidir. Bu iskelet ile ASP.NET uygulamaları, Model, View ve Controller rollerine bölünerek geliştiriliyor.Model (Tanım) uygulamanın üzerinde duracağı meseleyi temsil ediyor. Genel olarak bu bir veritabanıdır. Controller, Model üzerindeki operasyonları tarif eden roldür. View ise, gerekli bilginin görünümünden sorumludur. ASP.NET MVC Framework, "interface"ler aracılığıyla bu üç rolü de destekliyor. Resmi olarak geliştirilen View kısmı sadece Web Formlarını destekliyor. Ama bağımsız olarak başka görünüm motorları uyarlanabilir. Sayfalar etkileşimde PostBack değil, URL Routing mekanizmasını kullanıyor. Böylelikle fiziksel dosya hiyerarşisiyle ilişkisiz, REST uyumlu URL'ler tanımlanabiliyor. ASP.NET MVC Framework bu URL'lerin ilgili Controller metotlarına eşlenmesi ve bu URL'lerin üretimi için hazır bir altyapı sunuyor.

Microsoft Visual Studio, Microsoft tarafından geliştirilen bir tümleşik geliştirme ortamıdır (IDE). Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework ve Microsoft Silverlight tarafından desteklenen tüm platformlar için yönetilen kod ile birlikte yerel kod ve Windows Forms uygulamaları, web siteleri, web uygulamaları ve web servisleri ile birlikte konsol ve grafiksel kullanıcı arayüzü uygulamaları geliştirmek için kullanılır.

Oracle Application Development Framework ya da bilinen adıyla Oracle ADF, Oracle'nin özellikle Forms uygulamalarını yeni nesil web tabanlı teknolojilere yükseltmek için geliştirdiği yazılım iskeletidir.

CodeIgniter, PHP ile dinamik uygulamalar geliştirmek için geliştirilmiş bir web uygulama iskeletidir. "Geliştiricilerin çok daha hızlı proje geliştirmeleri hedef edilmiştir. En sık ihtiyaç duyacağınız kütüphaneleri kullanarak zaman kazanabilirsiniz." İlk sürüm 28 Şubat 2006 tarihinde yayınlandı. MVC mimari deseni temeline göre geliştirilmiş olup günümüzde hızla yaygınlaşmaktadır.

RainFramework, Model View Controller (MVC) deseni kullanan, PHP5 ile geliştirilmiş bir web uygulama iskeletidir. Kolaylık, hız ve güvenlik için tasarlanmıştır.

<span class="mw-page-title-main">Laravel</span>

Laravel, MVC yapısında web uygulamaları geliştirme için tasarlanmış ücretsiz, açık kaynak PHP web uygulama iskeletidir. Laravel, GitHub sitesinde barındırılan kaynak kodu ile birlikte, MIT lisansı altında yayınlandı.

<span class="mw-page-title-main">Microsoft Azure</span>

Microsoft Azure hem açık çevre ortamlarından hem de İnternet'ten tüketilebilen çok çeşitli İnternet hizmetini sağlamakta" olan bir bulut platformu hizmetidir. Microsoft Online Services hizmetinin lansmanından sonra gelen bulut bilgi işlemi içine alınan Microsoft'un ilk adımıdır. Kısaca bir hizmet olarak Microsoft yazılım firmasının altyapısıdır. Azure, Ekim 2008'de açıklandı ve 1 Şubat 2010 tarihinde Windows Azure olarak serbest bırakıldı.

Play bir açık kaynak web uygulama iskeletidir. Guillaume Bort tarafından oluşturulmuştur. Java ve Scala programlama dili ile yazılmıştır, MVC (model-view-controller) kalıbı ile geliştirilir. Play uygulamaları Java veya Scala dillerinden birisi ile geliştirilebilir.

Cocoa Touch Apple' tarafından yapılan iOS, Apple Watch için watchOS ve dördüncü nesil Apple TV için tvOS üzerinde çalışan yazılım programlarını oluşturmak için bir UI Kullanıcı arayüzü çerçevedir. macOS üzerinde mevcut değildir. Cocoa Touch iPhone, iPod Touch ve iPad için iOS işletim sisteminin bir soyutlama katmanını sağlar.

<span class="mw-page-title-main">MIX (Microsoft)</span>

MIX Microsoft'un yakında yayınlanacak web teknolojilerini sergilediği web geliştiricileri ve tasarımcıları için her yıl düzenlenmiş olan bir Microsoft konferansıdır. Konferans her baharda Las Vegas'taki Venedik Otelinde düzenleniyor. Birçok Microsoft'un teknik konferansının aksine, MIX, popüler konuşmacıları SXSW gibi diğer popüler web tasarım konferanslarından davet ederek tasarımcılara daha fazla terfi etti ve konferansı tanıtmak için her yıl bir CSS tasarım yarışmasına sponsor oldu. Microsoft ayrıca bu konferansı, Microsoft Silverlight ve Microsoft Expression Studio gibi yeni web tasarım ve geliştirme araçlarını tanıtmak için bir fırsat olarak kullandı.

.NET Compact Framework .NET Framework'ün bir versiyonudur. Kişisel dijital yardımcılar (PDA'lar), cep telefonları, fabrika denetleyicileri, alıcı kutuları gibi kaynak kısıtlı mobil ve gömülü cihazlarda çalışacak şekilde tasarlanmıştır. .NET Compact Framework, .NET Framework ile aynı sınıf kitaplıklarından bazılarını ve ayrıca .NET Compact Framework denetimleri gibi mobil aygıtlar için özel olarak tasarlanmış birkaç kitaplığı kullanır. Ancak, kitaplıklar, .NET Framework'ün tam kopyaları değildir.

<span class="mw-page-title-main">Bağlam menüsü</span>

Bağlam menüsü ya da pop-up menü, grafiksel kullanıcı arayüzünde bulunan, fare ile sağ tıklama işlemiyle kullanıcı etkileşimi üzerine ortaya çıkan bir menü. Bağlam menüleri, menünün ait olduğu işletim sisteminin veya uygulamanın geçerli durumunda veya bağlamında kullanılabilecek sınırlı sayıda seçenekleri sunar. Genellikle mevcut seçenekler, seçilen nesneyle alakalı eylemlerden oluşur. Bağlam menüsü bir grafiksel kontrol bileşenidir.

<span class="mw-page-title-main">Adele Goldberg (bilgisayar bilimcisi)</span> Amerikalı bilgisayar bilimcisi

Adele Goldberg, Amerikalı bilgisayar bilimcisi. 1970'lerde Xerox Palo Alto Araştırma Merkezi'nde geliştirdiği Smalltalk-80 programlama dili ve nesne yönelimli programlamaya yaptığı katkılarla tanınmıştır.

<span class="mw-page-title-main">Angular (Framework)</span>

Angular, web uygulamaları geliştirmek için kullanılan açık kaynak ve özgür yazılım bir framework'tür. Google tarafından geliştirilmiş ve desteklenmektedir. İlk olarak 2010 yılında AngularJS adıyla piyasaya sürülen framework, 2016 yılında Angular 2 olarak yeniden tasarlanmış ve bu sürümle birlikte daha modern bir mimariye geçiş yapılmıştır. Angular, özellikle dinamik ve tek sayfa uygulamaları (SPA) oluşturmak için tercih edilmektedir.