您的位置:首页 > 运维架构 > 网站架构

框架 和设计模式 架构的区别

2017-11-08 09:46 323 查看
框架和设计模式的区别

有很多程序员往往把框架模式和设计模式混淆,认为MVC是一种设计模式。实际上它们完全是不同的概念。[7]
框架、设计模式这两个概念总容易被混淆,其实它们之间还是有区别的。框架通常是代码重用,而设计模式是设计重用,架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。在软件生产中有三种级别的重用:内部重用,即在同一应用中能公共使用的抽象块;代码重用,即将通用模块组合成库或工具集,以便在多个应用和领域都能使用;应用框架的重用,即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用性。
框架与设计模式虽然相似,但却有着根本的不同。设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更抽象;框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示;设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定应用领域,但同一模式却可适用于各种应用。可以说,框架是软件,而设计模式是软件的知识
设计模式有哪些?
MVC、MTV、MVP、CBD、ORM等等;
框架有哪些?
C++语言的QT、MFC、gtk,Java语言的SSHSSIphp语言的 smarty(MVC模式),python语言的django(MTV模式)等等
设计模式有哪些?
工厂模式、适配器模式、策略模式等等
简而言之:框架是大智慧,用来对软件设计进行分工;设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度。

设计模式:是一种对象关系管理与设计的学问,一种思想,它不属于任何一种语言的。因此设计模式出现后,衡量一个程序员的水平,其中一个领域就是对设计模式的了解程度。它代表了你的归纳、组织等和代码与对象关系的设计能力。
框架:是一种工具,它不是学问,基于设计模式的一种特定实现,它更多是面向程序员提供某些已经实现的功能,和有限度的关系管理。
架构:是一种已经提供了关系布局的骨架,它是由关系设计而来的,无论设计与使用的人,至少要了解它的作用,特别是关系。
个人理解:
框架《设计模式《架构

大多框架是基于设计模式的一种实现(spring是MVC的实现)

这就是『设计模式』这个翻译的坑了。。。明明就是『几种软件设计的技巧』,非要用『模式』这个浑身上下都散发着『权威』味道的词。。。

结果造成了很多人不求甚解的情况下生搬硬套,以为学会了『设计模式』软件设计就不再有任何问题,以为软件就是『设计模式』的堆叠。。。流毒无穷

好吧,MVC才是真!设计模式。什么单例、工厂都是设计技巧

软件架构:运行在什么平台?用什么语言开发?采用什么样的交互方式?用什么来存储数据?……

设计模式:用什么语言开发中的“如何构建代码”

开发框架:

作者:Brian
链接:https://www.zhihu.com/question/31079945/answer/159691420
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: