Model View Controller

Модел–Харагдац–Удирдлага (MVC) нь ПХ-ийн архитектур бөгөөд, ө/х-л ПХ-ийн инженерчилэл-д ашиглагддаг архитектур загвар юм . Энэхүү загвар нь бизнес логикийг дэлгэцийн зохиомжоос тусгаарласнаар тест болон хөгжүүлэлтийн дараа арчилгаа тордолгоо хийхэд тус тусад нь хөгжүүлэх боломж олгоно. 

Модел нь мэдээллийг удирдах эсвэл мэдээлэл өөрчлөгдөхөд observer-үүдийг анхааруулахад ашиглагдна. Модел нь домайн логик гэж нэрлэгдэх бөгөөд түүхий өгөгдөл дээр боловсруулалт хийсэн хэсэг юм. Жишээ нь өнөөдөр хэрэглэгчийн төрсөн өдөр мөн эсэхийг бодох, мөнгөн дүнгүүд, татварууд, кредит картаар авсан барааны хүргэлтийн зардал бодох гэх мэт. 
Хэрвээ модел нь төлвөө өөрчилвөл түүнтэй холбоотой харагдац-ууд бас өөрчлөгднө. 

Харагдац гэдэг нь моделийг хувиргаж харагдах байдалд шилжүүлснийг хэлнэ, ихэвчлсэн дэлгэцийн харагдах байдал байна. Хэд хэдэн харагдах байдал нь ганцхан моделийг өөр өөр зорилгоор ашигласан байж болно.

Удирдлага нь оролтуудыг хүлээн аваад моделийг дуудаж хариу буцаах үйлдлийг бэлдэнэ. Удирдлага нь оролтуудыг зөвшөөрч тэрхүү оролтууд дээр үндэслэгдсэн үйлдлүүдийг моделийн тусламжтайгаар боловсруулах үүрэгтэй.


MVC загвар Вэб апликэйшн хөгжүүлэлтэнд их ажиглагддаг бөгөөд HTML эсвэл аппликэйшн-ээр хөрвүүлэгдсэн XHTML нь Харагдац-ын үүрэг гүйцэтгэдэг. Удирдлага нь GET эсвэл POST-оор өгөгдлийг аваад юу хийхээ шийднэ( голдуу Модел дээр байгаа обьектуудыг ашиглан бизнесийн үйл ажиллагааг хийнэ)

 MVC-г вэб төвтэй фрэймворкууд хэрэгжүүлсэн байдал 
 ABAP Objects 
 Business Server Pages (BSP)
 Web Dynpro ABAP

 Actionscript 
 PureMVC Framework for Actionscript.

 ASP 
 ASP Xtreme Evolution (AXE)

 C++ 
 Wt - Web toolkit A library and application server for web applications using a desktop-like event-driven MVC pattern.

 CFML - Adobe ColdFusion, Railo, and Open BlueDragon 
 ColdFusion on Wheels A convention over configuration framework similar to Ruby on Rails.
 Fusebox Fusebox does not force the Model–View–Controller (MVC) pattern or Object-Oriented Programming (OOP) on the developer. However, either or both of these development approaches can be used with Fusebox.
 Mach-II A framework that focuses on trying to ease software development and maintenance.
 Model-Glue Through a simple implementation of Implicit Invocation and Model–View–Controller, they allow applications to be well organized without sacrificing flexibility.
 PureMVC Framework for ColdFusion.

 Delphi 
 Delphi On Rails

 Erlang 
 Chicago Boss

 Flex 
 Cairngorm one of the primary open source frameworks for application architecture in Adobe Flex.
 PureMVC ActionScript 3 MVC framework for Flex, Flash and AIR development.

 Groovy 
 Grails

 Java 
MVC web application frameworks:
 Aranea
 Cocoon
 Induction
 JSF
 Oracle Application Framework
 PureMVC, a framework for Java
 Sling, used to create content based applications on top of JCR. Supported scripting languages are JSP, server-side JavaScript, Ruby, Velocity
 Spring MVC Framework
 Struts
 Struts2
 Stripes
 Tapestry
 Wavemaker, a WYSIWYG development platform for Ajax web applications.
 WebObjects
 WebWork
 Wicket
 Web Dynpro Java

 JavaScript 
MVC web application frameworks:
 SproutCore
 PureMVC Framework for JavaScript
 JavascriptMVC Javascript MVC framework based upon jQuery core.

 Informix 4GL 
 IBM Informix-4GL MVC models to use for Informix 4GL report and form creation
 EGL — IBM's EGL MVC Implementation

 Lasso 
http://code.google.com/p/engineroom/ engineRoom is an MVC-like framework

 Lua 
 Orbit

 .NET 
 ASP.NET MVC Framework
 Maverick.NET
 MonoRail An ActionPack inspired MVC framework from the Castle Project
 PureMVC Framework for C#
 Spring Framework.NET
 Bistro Framework

 Perl 
 Catalyst An MVC-based avant-garde Web framework;
 Maypole An MVC Web framework, superseded by Catalyst;

 PHP 
 CakePHP A webapplication framework modeled after the concepts of Ruby on Rails.
 CodeIgniter An MVC framework for PHP4 (up-compatible with PHP 5.3.0 as of version 1.7.2).
 Exponent CMS A Content Management System web application framework using its own MVC framework modeled after Rails.
 eZ Publish Based on eZ Components is an object-oriented web application framework written in PHP that separates its functionality into several abstraction layers, following a strict MVC approach.
 Jaws is a framework and content management system for building dynamic web sites.
 Joomla! v1.5.x is an open source content management system that employs the MVC model for its extensions, called components and modules.
 MODx A full-featured open source OOP MVC/ORB xPDO-based CMS. 
 Odin Assemble A Small footprint PHP based MVC framework.
 phpXCore A MVC design pattern based PHP content management framework compatible with PHP4 and PHP5.
 PureMVC A framework for PHP.
 Qcodo An open-source PHP 5 web application framework.
 SilverStripe Contains a fully fledged PHP 5.2 ORM/MVC framework focused on building websites.
 Switch board (framework) A PHP 5 MVC framework with routing.
 Symfony Framework A PHP 5 MVC framework modeled after the concepts of Ruby on Rails.
 Zend Framework A PHP 5-based MVC framework conceptually similar to Ruby on Rails.
 Yii Framework A new high-performance component-based PHP 5-based framework for developing large-scale Web applications.

 Python 
 Django A complete Python web application framework. Django prefers to call its MVC implementation MTV, for Model-Template-View.http://docs.djangoproject.com/en/dev/faq/general/#django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names
 Enthought The Enthought Tool Suite brings the Model–view–controller mindset to scientific GUIs and visualization
 Pylons—Python Web Framework
 TurboGears for Python
 web2py A scalable full-stack enterprise level Python agile web development framework with support for highly flexible and rapid database-driven web application development.
 Zope Web application server
 Plone Content management system built on top Zope
 PureMVC Framework for Python

 Ruby 
 Camping
 Merb
 Nitro
 Ruby on Rails
 Monkeybars
 PureMVC Framework for Ruby.

 Smalltalk 
 AIDA/Web

 XML 
 XForms—XForms has an integrated Model–view–controller architecture with an integral dependency graph that frees the programmer from specifically having to perform either push or pull operations.

 Other 
 Purenode Purenode is a website-programming tool. Its controllers are designed on a node-based interface, which may query the database and render templates.

 Бусад харах 
 Trygve Reenskaug—first formulated the model–view–controller pattern
 Architectural patterns
 Model View Presenter
 Model 1
 Model 2
 Three-tier (computing)
 The Observer design pattern
 The Template Method design pattern
 The Presentation-abstraction-control (PAC) pattern
 The naked objects pattern, often positioned as the antithesis of MVC, though Reenskaug suggests otherwise
 Model–View–Adapter
 Model View ViewModel
 Application View Controller an alternative to Model View Controller

Ангилал:Программ хангамж зохиох хэв загвар
Ангилал:Программын архитектур