框架和架构有什么区别?

时间:2021-03-02 13:19:53

I would like to know the difference between framework and architecture.
for example: dotnetnuke is the framework and mvc is the architecture.

我想知道框架和架构之间的区别。例如:dotnetnuke是框架,mvc是架构。

so if we take both of this as a example, can anyone tell me difference between them?
Want to know which one is using when and where?
Which is good in terms of user requirement satisfaction?

所以,如果我们将这两个作为一个例子,谁能告诉我它们之间的区别?想知道哪一个在何时何地使用?哪个用户需求满意度很高?

12 个解决方案

#1


81  

Let me illustrate the difference.

让我说明一下差异。

Framework:

框架:

框架和架构有什么区别?

Architecture:

建筑:

框架和架构有什么区别?

#2


30  

It's common to make this distinction:

做出这种区分是很常见的:

  • A Library is a reusable set of types/functions you can use from a wide variety of applications. The application code initiates communication with the library and invokes it.
  • 库是一组可重用的类型/函数,可以在各种应用程序中使用。应用程序代码启动与库的通信并调用它。
  • A Framework consists of one or more libraries, but the difference is that Inversion of Control applies. The application registers with the framework (often by implementing one or more interfaces), and the framework calls into the application, which may call back into the framework. A framework often exists to address a particular general-purpose Domain (such as web applications, or workflows, etc.).
  • 框架由一个或多个库组成,但区别在于控制反转适用。应用程序向框架注册(通常通过实现一个或多个接口),框架调用应用程序,可以回调到框架中。通常存在一个框架来处理特定的通用域(例如Web应用程序或工作流等)。
  • Architecture consists of the guiding principles behind a given application. It is not strongly tied to a particular framework or library.
  • 架构由给定应用程序背后的指导原则组成。它与特定框架或库没有很强的联系。

#3


11  

Simply put -- architecture is theory, framework is implementation.

简单地说 - 架构是理论,架构是实现。

#4


6  

Frameworks is a collection of classes and tools that help you developing great softwares ... like .net framework or Qt.
Architecture is entirely different : it refers to design pattern or how an application or a framework is organized. What are the modules that compose it and how they communicate together !

框架是一个类和工具的集合,可以帮助您开发优秀的软件...如.net框架或Qt。架构完全不同:它指的是设计模式或应用程序或框架的组织方式。构成它的模块是什么以及它们如何一起通信!

#5


5  

Also to note the difference between design and architecture:

还要注意设计和架构之间的区别:

Design: When you talk about what to do when a user logs in ?
Ex. Usability, portability, accessibility etc.

设计:当您谈到用户登录时该怎么做?防爆。可用性,便携性,可访问性等

Architecture: When you talk about what to do when 5000 users logs in simultaneously ?
Ex. Scalability, reliability, availability, performance etc.

架构:当你谈到5000个用户同时登录时该怎么做?防爆。可扩展性,可靠性,可用性,性能等。

#6


5  

Architecture is about style, abstract idea, flow, methodology, concept. Framework is something which implements the style, idea, concept etc..or makes it easier to implement it. example,

建筑是关于风格,抽象的想法,流程,方法,概念。框架是实现风格,想法,概念等的东西。或者使它更容易实现。例,

Architecture: Every component should have standard pluggable interfaces and it should be possible to connect any component to any other.

架构:每个组件都应该有标准的可插拔接口,并且应该可以将任何组件连接到任何其他组件。

Framework: Then lego building blocks can be the framework.

框架:然后lego构建块可以作为框架。

Library: some readymade combinations of blocks that would work as the pillars.

图书馆:一些现成的块组合,可以作为支柱。

Application: A building structure using the pillars and other building blocks(application).

应用:使用支柱和其他构建块(应用)的建筑结构。

#7


2  

Frameworks are generally a part of your architecture. They are normally part of the infrastructure of your code. MVC is a framework, as is ASP.NET, WinForms and many many libraries (NHibernate, PostSharp and more).

框架通常是您的架构的一部分。它们通常是代码基础结构的一部分。 MVC是一个框架,ASP.NET,WinForms和许多库(NHibernate,PostSharp等)也是如此。

Architecture refers to how your software it put together - how it is organized, how the different classes and modules in it interact.

架构指的是您的软件如何组合在一起 - 它是如何组织的,它中的不同类和模块如何相互作用。

#8


2  

MVC is pattern as supposed to an architecture, it may be used as a technique in your architecture though. Framework as others have said is a collection of tools you use to implement your architecture. In other words framework is the tool-belt.

MVC是一种体系结构的模式,它可以用作您体系结构中的一种技术。其他人所说的框架是用于实现架构的工具集合。换句话说,框架就是工具带。

#9


1  

Framework is a part of architecture implementation. Say, our app will be organized according to MVC architecture and will use SpringMVC framework for that. Different frameworks are organized according to different architectural patterns. Someone can say, that term "framework" is itself describes architectural pattern. Its "opposite" is "library", because libraries are directly controlled by your application while frameworks use inversion of control and they control execution of your code. Though, there are controversies in using term "framework".

框架是架构实现的一部分。比如,我们的应用程序将根据MVC架构进行组织,并将使用SpringMVC框架。根据不同的架构模式组织不同的框架。有人可以说,术语“框架”本身就是描述建筑模式。它的“对立面”是“库”,因为库是由应用程序直接控制的,而框架使用控制反转并控制代码的执行。虽然,使用术语“框架”存在争议。

#10


1  

I think framework is something that is created by someone and available to you to accomplish a objective. Like MFC is a framework to write GUI application. Frameworks takes full control from you but gives you the advantage of not trying to do everything from ground up. In most cases it is better to use a well designed and tested framework, rather than write your own.
In this context architecture is how the framework has been designed and possibly the way to use the framework from you application maintaining the vision of the framework designers.

我认为框架是由某人创建的,可供您实现目标。像MFC一样是编写GUI应用程序的框架。框架完全由您控制,但是您可以从不尝试从头开始做任何事情。在大多数情况下,最好使用设计良好且经过测试的框架,而不是自己编写。在这种情况下,体系结构是如何设计框架的,并且可能是从您的应用程序使用框架的方式,以维护框架设计者的愿景。

But broadly architecture is the design principle and can encompass not only software but complete systems as well. Think security, integration, reporting, infrastructure aspects etc.

但广泛的架构是设计原则,不仅可以包含软件,还可以包含完整的系统。考虑安全性,集成,报告,基础设施等方面。

#11


1  

Architecture is a logical view, it means doesn't have any implmentation(java classes), just has an idea where to put each components(jsp, servlet and model component for MVC architecure). We can also called as Design pattern.

架构是一个逻辑视图,它意味着没有任何实现(java类),只是想知道在哪里放置每个组件(jsp,servlet和模型组件用于MVC架构)。我们也可以称为设计模式。

Framework is an implementation of an Architecture. Like Spring(Application Architecture), Struts(MVS web App Architecture) are some framework.

框架是架构的实现。与Spring(应用程序架构)一样,Struts(MVS Web App Architecture)也是一些框架。

#12


0  

Let me give a try:

让我试一试:

Framework:
Framework is nothing but a blue print of the solution that going to be provided for a task or work. The blue print should have info like:
1. what are the components(tools) going to involved or developed. And how they are connected
2. how the components are going to be maintained
3. what is the input for all the components and what they return back
4. how the components are getting initiated and what is the final output by integrating all the component

框架:框架只不过是为任务或工作提供的解决方案的蓝图。蓝图应该有如下信息:1。涉及或开发的组件(工具)是什么。以及它们如何连接2.如何维护组件3.所有组件的输入是什么以及它们返回的是什么4.组件如何启动以及通过集成所有组件的最终输出是什么

Architecture: Architecture is a design which tells us how the framework (or) given_solution is going to be implemented on expected environment.

架构:架构是一种设计,它告诉我们框架(或)given_solution将如何在预期的环境中实现。

#1


81  

Let me illustrate the difference.

让我说明一下差异。

Framework:

框架:

框架和架构有什么区别?

Architecture:

建筑:

框架和架构有什么区别?

#2


30  

It's common to make this distinction:

做出这种区分是很常见的:

  • A Library is a reusable set of types/functions you can use from a wide variety of applications. The application code initiates communication with the library and invokes it.
  • 库是一组可重用的类型/函数,可以在各种应用程序中使用。应用程序代码启动与库的通信并调用它。
  • A Framework consists of one or more libraries, but the difference is that Inversion of Control applies. The application registers with the framework (often by implementing one or more interfaces), and the framework calls into the application, which may call back into the framework. A framework often exists to address a particular general-purpose Domain (such as web applications, or workflows, etc.).
  • 框架由一个或多个库组成,但区别在于控制反转适用。应用程序向框架注册(通常通过实现一个或多个接口),框架调用应用程序,可以回调到框架中。通常存在一个框架来处理特定的通用域(例如Web应用程序或工作流等)。
  • Architecture consists of the guiding principles behind a given application. It is not strongly tied to a particular framework or library.
  • 架构由给定应用程序背后的指导原则组成。它与特定框架或库没有很强的联系。

#3


11  

Simply put -- architecture is theory, framework is implementation.

简单地说 - 架构是理论,架构是实现。

#4


6  

Frameworks is a collection of classes and tools that help you developing great softwares ... like .net framework or Qt.
Architecture is entirely different : it refers to design pattern or how an application or a framework is organized. What are the modules that compose it and how they communicate together !

框架是一个类和工具的集合,可以帮助您开发优秀的软件...如.net框架或Qt。架构完全不同:它指的是设计模式或应用程序或框架的组织方式。构成它的模块是什么以及它们如何一起通信!

#5


5  

Also to note the difference between design and architecture:

还要注意设计和架构之间的区别:

Design: When you talk about what to do when a user logs in ?
Ex. Usability, portability, accessibility etc.

设计:当您谈到用户登录时该怎么做?防爆。可用性,便携性,可访问性等

Architecture: When you talk about what to do when 5000 users logs in simultaneously ?
Ex. Scalability, reliability, availability, performance etc.

架构:当你谈到5000个用户同时登录时该怎么做?防爆。可扩展性,可靠性,可用性,性能等。

#6


5  

Architecture is about style, abstract idea, flow, methodology, concept. Framework is something which implements the style, idea, concept etc..or makes it easier to implement it. example,

建筑是关于风格,抽象的想法,流程,方法,概念。框架是实现风格,想法,概念等的东西。或者使它更容易实现。例,

Architecture: Every component should have standard pluggable interfaces and it should be possible to connect any component to any other.

架构:每个组件都应该有标准的可插拔接口,并且应该可以将任何组件连接到任何其他组件。

Framework: Then lego building blocks can be the framework.

框架:然后lego构建块可以作为框架。

Library: some readymade combinations of blocks that would work as the pillars.

图书馆:一些现成的块组合,可以作为支柱。

Application: A building structure using the pillars and other building blocks(application).

应用:使用支柱和其他构建块(应用)的建筑结构。

#7


2  

Frameworks are generally a part of your architecture. They are normally part of the infrastructure of your code. MVC is a framework, as is ASP.NET, WinForms and many many libraries (NHibernate, PostSharp and more).

框架通常是您的架构的一部分。它们通常是代码基础结构的一部分。 MVC是一个框架,ASP.NET,WinForms和许多库(NHibernate,PostSharp等)也是如此。

Architecture refers to how your software it put together - how it is organized, how the different classes and modules in it interact.

架构指的是您的软件如何组合在一起 - 它是如何组织的,它中的不同类和模块如何相互作用。

#8


2  

MVC is pattern as supposed to an architecture, it may be used as a technique in your architecture though. Framework as others have said is a collection of tools you use to implement your architecture. In other words framework is the tool-belt.

MVC是一种体系结构的模式,它可以用作您体系结构中的一种技术。其他人所说的框架是用于实现架构的工具集合。换句话说,框架就是工具带。

#9


1  

Framework is a part of architecture implementation. Say, our app will be organized according to MVC architecture and will use SpringMVC framework for that. Different frameworks are organized according to different architectural patterns. Someone can say, that term "framework" is itself describes architectural pattern. Its "opposite" is "library", because libraries are directly controlled by your application while frameworks use inversion of control and they control execution of your code. Though, there are controversies in using term "framework".

框架是架构实现的一部分。比如,我们的应用程序将根据MVC架构进行组织,并将使用SpringMVC框架。根据不同的架构模式组织不同的框架。有人可以说,术语“框架”本身就是描述建筑模式。它的“对立面”是“库”,因为库是由应用程序直接控制的,而框架使用控制反转并控制代码的执行。虽然,使用术语“框架”存在争议。

#10


1  

I think framework is something that is created by someone and available to you to accomplish a objective. Like MFC is a framework to write GUI application. Frameworks takes full control from you but gives you the advantage of not trying to do everything from ground up. In most cases it is better to use a well designed and tested framework, rather than write your own.
In this context architecture is how the framework has been designed and possibly the way to use the framework from you application maintaining the vision of the framework designers.

我认为框架是由某人创建的,可供您实现目标。像MFC一样是编写GUI应用程序的框架。框架完全由您控制,但是您可以从不尝试从头开始做任何事情。在大多数情况下,最好使用设计良好且经过测试的框架,而不是自己编写。在这种情况下,体系结构是如何设计框架的,并且可能是从您的应用程序使用框架的方式,以维护框架设计者的愿景。

But broadly architecture is the design principle and can encompass not only software but complete systems as well. Think security, integration, reporting, infrastructure aspects etc.

但广泛的架构是设计原则,不仅可以包含软件,还可以包含完整的系统。考虑安全性,集成,报告,基础设施等方面。

#11


1  

Architecture is a logical view, it means doesn't have any implmentation(java classes), just has an idea where to put each components(jsp, servlet and model component for MVC architecure). We can also called as Design pattern.

架构是一个逻辑视图,它意味着没有任何实现(java类),只是想知道在哪里放置每个组件(jsp,servlet和模型组件用于MVC架构)。我们也可以称为设计模式。

Framework is an implementation of an Architecture. Like Spring(Application Architecture), Struts(MVS web App Architecture) are some framework.

框架是架构的实现。与Spring(应用程序架构)一样,Struts(MVS Web App Architecture)也是一些框架。

#12


0  

Let me give a try:

让我试一试:

Framework:
Framework is nothing but a blue print of the solution that going to be provided for a task or work. The blue print should have info like:
1. what are the components(tools) going to involved or developed. And how they are connected
2. how the components are going to be maintained
3. what is the input for all the components and what they return back
4. how the components are getting initiated and what is the final output by integrating all the component

框架:框架只不过是为任务或工作提供的解决方案的蓝图。蓝图应该有如下信息:1。涉及或开发的组件(工具)是什么。以及它们如何连接2.如何维护组件3.所有组件的输入是什么以及它们返回的是什么4.组件如何启动以及通过集成所有组件的最终输出是什么

Architecture: Architecture is a design which tells us how the framework (or) given_solution is going to be implemented on expected environment.

架构:架构是一种设计,它告诉我们框架(或)given_solution将如何在预期的环境中实现。