区别与联系
定义
- 软件框架是面向领域(如ERP、计算领域等)的、可复用的“半成品”软件,它实现了该领域的共性部分,并提供了一些定义良好的可变点以保证灵活性和可扩展性。也就是说软件框架是领域分析结果的软件化,是领域内最终应用的模板。
- 软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。
说说区别加深理解
我们可以关注一下定义中加粗部分的本质:框架是一种特殊的软件;架构是比具体代码高一个抽象层次的概念。
软件框架会包含一些代码——一系列完成计算的模块,即构件;包含使用这个框架的规则和约束——构件之间的关系及交互机制、一系列可变点等。在框架的基础上根据需要完成自定义的部分才能成为最终的软件产品。
软件架构是可以用文档和逻辑架构图(像下面那样)来表达的。它制定了领域问题的一套解决方案,关注大局而忽略细节,描述了计算组件及组件之间的交互,也可以说包含了一系列的决策.。
说白了,虽然这两个词语在日常使用中是近义词,但在这里讨论的时候,一个(架构)仍然指软件核心和主干部分的东西,另一个(框架)却更像是一套为了方便别人套用的模具。
站在高处看联系
(1)为了尽早验证架构设计,或