MVC不是框架,不是设计模式,也不是软件架构,而是一种架构模式。
● 框架(Framework):是一个系统的可重用设计,表现为一组抽象的可交互方法。它就像若干类的构成,涉及若干构件,以及构件之间的相互依赖关系、责任分配和流程控制等。比如,C++语言的QT、MFC、GTK, Java语言的SSH、SSI, PHP语言的Smarty(MVC模式), Python语言的Django(MTV模式)等。
● 设计模式(Design Pattern):是一套被反复使用、多数人知晓的、经过分类的代码设计经验总结。其目的是为了代码的可重用性、让代码更容易被他人理解、保证代码的可靠性。比如,工厂模式、适配器模式和策略模式等。
● 软件架构(Software architecture):是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。软件架构是一个系统的草图,软件体系结构是构建计算机软件实践的基础。
● 架构模式(风格):也可以说成框架模式,一个架构模式描述软件系统里基本的结构组织或纲要。架构模式提供一些事先定义好的子系统,指定它们的责任,并给出把它们组织在一起的法则和指南。一个架构模式常常可以分解成很多个设计模式的联合使用。MVC模式就属于架构模式,还有MTV、MVP、CBD和ORM等。