首发地址:模式与框架
核心知识
- 模式与框架关注于解决问题。
- 模式与框架都在于复用
设计模式
“设计模式” 是描述可复用的已成功的解决方案的抽象概念。
每种设计模式,对应着解决特定的一类问题。
既然特定对应,每个问题的类型似可以一样,但细节不尽相同,也就需要在开发过程中对应用设计模式把控,俗称“火候”。
框架
框架就像是给程序员定制的开发脚手架。
一个框架是一个可复用的设计组件,它统一定义了高层设计和接口,使得从框架构建应用程序变变得非常容易。因此,框架可以算是打开“快速开发”与“代码复用”这两扇门的钥匙。
框架是面向编程或配置的半成品,是“工程师”。
区别
框架和模式的共同点在于,它们都提供了一种问题的重用解决方案。其中,框架是代码复用,模式是设计复用。
软件开发是一种知识与智力的活动,知识的积累很关键。框架采用了一种结构化的方式来对特定的编程领域进行了规范化,在框架中直接就会包含很多模式的应用、模式的设计概念、领域的优化实践等,都被固化在了框架之中。
框架是程序代码,而模式是关于这些程序代码的知识。
小结
- 模式是代码层面,解决单个问题的成功方法
- 框架是设计层面,解决一系列问题的成功方法
”架构“是设计图纸,“框架”是工程师,而“设计模式”是工程师按照设计图纸打造实现目标过程中使用工具,而打造的东西不一样工具当然不止一样。
- 工程师拿着工具对着设计图纸打造目标。
- 工具在于解决打造过程中的问题
- 工程师在于解决“实现目标”这个问题