复合模式:

复合模式只是一群设计模式结合起来使用,来解决一些设计问题。
使用一群设计模式的时候,不要稍微靠近一些设计模式,就直接套用,很多问题往往只遵守 OO 面向对象编程原则就能解决。不要为了用设计模式而用,这样往往会导致一些新的问题。

MVC 模式:

模型 - 视图 - 控制器
模型:模型存在业务的数据,状态,业务逻辑。模型不需要特别在意视图和控制器。
视图:用来呈现模型的方式,可以是终端控制台、网页、可视化 UI 组件来展示。
控制器:取得用户输入并操作和读取模型的数据、状态和逻辑。

好的 MVC 可以做到,控制器随意更换,视图随意更换。一般情况我们也不需要去极致追求这样,除非特殊需求,否则视图与控制器轻微绑定即可。
控制器存在的意义既是 视图 与 模型 解耦,我们要首先满足这一需求。
控制器不应该过多的存在业务逻辑,可以存在少许的视图应用逻辑。
应用逻辑是指,操作和管理模型中的数据。
视图应该绝对或尽量隔离掉模型层。