MVC的变体
我们采用MVC模式将可视化UI元素的呈现、UI处理逻辑和业务逻辑分别定义在View、Controller和Model中,但是MVC并没有对三者之间的交互进行严格的限制。这主要体现在他允许View和Model绕开Controller进行直接的交互,不仅View可以通过Model获取需要呈现给用户的数据,Model也可以直接通知View让其感知到应用状态的变化。当我们将MVC应用于具体的项目开发时,如果不对Model、View和Controller之间的交互作更为严格的约束,我们编写的程序可能比自治视图更加难以维护。
在软件设计的发展历程中出现了一些MVC的变体(Variation),他们遵循定义在MVC中的基本原则,但对于三元素之间的交互制定了更为严格的规范。