框架和架构有什么区别?
我想知道框架和体系结构之间的区别。
例如: dotnetnuke
是框架, mvc
是架构。
所以如果我们以这两个为例,谁能告诉我他们之间的区别?
想知道哪个使用何时何地?
在用户需求满意度方面哪个好?
让我来说明差异。
框架:
build筑:
做出这样的区分是很常见的:
- 库是可以从各种应用程序中使用的可重用的一组types/函数。 应用程序代码启动与库的通信并调用它。
- 框架由一个或多个库组成,但不同之处在于控制反转是适用的。 应用程序向框架注册(通常通过实现一个或多个接口),框架调用应用程序,可以调用回框架。 通常存在一个框架来解决特定的通用域(如Web应用程序或工作stream程等)。
- 体系结构包含给定应用程序背后的指导原则。 它与特定的框架或图书馆没有紧密的联系。
简单地说 – 架构是理论,架构是实施。
框架是一个类和工具的集合,可以帮助您开发优秀的软件…像.net框架或Qt 。
体系结构是完全不同的:它指的是devise模式或应用程序或框架是如何组织的。 什么是组成它的模块,以及它们如何一起交stream!
还要注意devise和体系结构之间的区别:
devise :当你谈论用户login时该怎么做?
防爆。 可用性,可移植性,可访问性等体系结构 :当您谈论5000个用户同时login时该怎么做?
防爆。 可扩展性,可靠性,可用性,性能等
build筑是关于风格,抽象的想法,stream程,方法论,概念。 框架是实现风格,理念,概念等的东西,或者更容易实现它。 例,
架构 :每个组件都应该有标准的可插入接口,应该可以将任何组件连接到任何其他组件。
框架 :然后乐高积木可以是框架。
图书馆 :一些现成的组合块将作为支柱。
应用程序 :使用支柱和其他积木(应用程序)的build筑结构。
框架通常是您架构的一部分 。 它们通常是代码基础结构的一部分。 MVC是一个框架,就像ASP.NET,WinForms和很多很多的库(NHibernate,PostSharp等)一样。
架构是指你的软件如何组织在一起,它是如何组织的,它们中的不同类和模块是如何相互作用的。
MVC是按照架构devise的模式,但它可能会在您的架构中用作技术。 正如其他人所说的框架是你用来实现你的架构的工具集合。 换句话说,框架就是工具带。
框架是架构实现的一部分。 说,我们的应用程序将按照MVC架构进行组织,并将使用SpringMVC框架。 根据不同的架构模式组织不同的框架。 有人可以说,这个术语“框架”本身就是描述build筑模式的。 它的“相反”是“库”,因为库是由你的应用程序直接控制的,而框架使用控制反转,并且控制你的代码的执行。 虽然在使用术语“框架”方面存在争议。
我认为框架是由某人创build并可供您实现的目标。 像MFC是编写GUI应用程序的框架。 框架从你完全控制,但给你的优势不尝试从头开始做所有事情。 在大多数情况下,最好使用devise良好,经过testing的框架,而不是自己写。
在这种情况下,体系结构是如何devise框架的,以及如何使用框架来维护框架devise者的愿景。
但广义的体系结构是devise原则,不仅可以包含软件,还可以包含完整的系统。 考虑安全,整合,报告,基础设施等
架构是一个逻辑视图,它意味着没有任何implmentation(java类),只是有一个想法在哪里把每个组件(MVC架构的jsp,servlet和模型组件)。 我们也可以称为devise模式。
框架是架构的一个实现。 像Spring(应用程序体系结构)一样,Struts(MVS web App Architecture)也是一些框架。