为什么23种设计模式没有MVC
GoF(Gang of Four,四人组,《Design Patterns: Elements of Reusable Object-Oriented Software》/《设计模式》一书的作者:Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides)并没有把MVC提及为一种设计模式,而是把它当做“一组用于构建用户界面的类集合”。在他们看来,它其实是其它三个经典的设计模式的演变:观察者模式(Observer)(Pub/Sub),策略模式(Strategy)和组合模式(Composite)。根据MVC在框架中的实现不同可能还会用到工厂模式(Factory)和装饰器(Decorator)模式。
什么是MVC?
- Model:数据模型层
- Controller:业务逻辑层
- View:视图层
优点:解耦性,代码模块化
总结:MVC其实是三种模式的合体,这种模式的目标之一就是在一个主题和观察者之间建立一对多的关系,在这个主题改变的时候观察者也会得到更新。而View和Controller之间关系不同的是,Controller帮助View处理不同用户输入有不同响应,这是一个非常好的策略模式。
人说,如果你很想要一样东西,就放它走 。如果它回来找你,那么它永远都是你的。要是它没有回来,那么不用再等了,因为它根本就不是你的。
——伊恩·麦克尤恩