as far as i know, the architecture is the first design result which
should consider some functions and properties of quality,sometimes
environment of the software,while framework is focus on -specificated
application which is something general to a certain domain.
could i have such a conclusion,if i do something first,it’s
architecture,if i do it again it called repeated labor,if i do it thirdly
then i could consider to make it a common framework?
Alas, both words are heavily overloaded in the software industry.
Basically the definition depends on which tool vendor one is talking to.
for example, the Computer Desktop Encyclopedia defines the terms as:
architecture: The set of protocols for communicating with another
framework: the set of building blocks for constructing an application.
I don’t like either of those definitions because they don’t agree with
what Daddy told me many moons ago as I sat on his knee. FWIW, I prefer
architecture: The strategy and/or infrastructure for accomplishing some
specific goal that defines or supports cooperation among multiple
distinct software elements.
framework: An infrastructure that acts as a generic skeleton for
combining customized software elements. Generally a framework can be
reused for multiple applications or systems of applications.
Since both can be , in my view the distinction is
primarily about reuse. Architectures are usually focused on specific
problem contexts while frameworks are designed to be used in entirely
different problem contexts.