框架指的是一种机制,这种机制负责控制各协作对象之间的交互,比如Struts就是框架,框架和类库的差别在于类库中的基类是被用户的类调用的,而框架中正相反,用户的类会被框架调用。
架构是指软件的骨架,包括最核心、最有代表性的用例,以及根据这些用例得出的分析类/设计类模型、各种分析机制、设计机制、以及软件的体系结构(比如c/s、m/v/c等),还包括据此得出的实现模型,所有这些的综和就是架构。
个人理解,框架(Framework)是可重用的设计或代码,通常以jar形式存在。架构(Architecture)含括的东西更多,包括采用框架、分析机制、设计模式等,这些是架构师都要考虑的。
还有一个抽象的概念,什么是模式(pattern)?模式是现实问题的解决方法的抽象集合,也就是关于问题的方法论,模式需要依托实体产生作用。而模式如何运用到现实实体中,现在非常流行的做法就是重构(refactor)。