MVC 是 Observer pattern, Strategy pattern 和 Composite pattern 三个设计模式的演变.
Design Pattern 的核心是 Pattern
MVC这个级别的东西怎么都不可能归类到Pattern(小花样)这一类的东西上。当然更不可以是框架,因为框架不是抽象的,而 MVC 是抽象的。
MVC是一种模式。在Martin Fowler的《企业应用架构模式》中,它属于表现层的架构模式。 (Mode)
MVC 在架构模式中的实现不同可能还会用到工厂模式 (Factory) 和装饰器 (Decorator) 模式。
框架通常是代码重用
设计模式是设计重用
架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。
在软件生产中有 3 种级别的重用
1. 内部重用,即在同一应用中能公共使用的抽象块;
2. 代码重用,即将通用模块组合成库或工具集,以便在多个应用和领域都能使用
3. 应用框架的重用,即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用性。
设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更抽象;
框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示
设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定应用领域,但同一模式却可适用于各种应用。可以说,框架是软件,而设计模式是软件的知识。
简而言之:框架是大智慧,用来对软件设计进行分工;
设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度。
No comments:
Post a Comment