框架和设计模式的区别

转载 2016年06月01日 20:54:08

(摘自百度百科)       

       有很多程序员往往把框架模式和设计模式混淆,认为MVC是一种设计模式。实际上它们完全是不同的概念。


       框架、设计模式这两个概念总容易被混淆,其实它们之间还是有区别的。框架通常是代码重用,而设计模式是设计重用,架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。在软件生产中有三种级别的重用:内部重用,即在同一应用中能公共使用的抽象块;代码重用,即将通用模块组合成库或工具集,以便在多个应用和领域都能使用;应用框架的重用,即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用性。


       框架与设计模式虽然相似,但却有着根本的不同。设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更抽象;框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示;设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定应用领域,但同一模式却可适用于各种应用。可以说,框架是软件,而设计模式是软件的知识。

框架模式有哪些?
MVC、MTV、MVP、CBD、ORM等等;
框架有哪些?
C++语言的QT、MFC、gtk,Java语言的SSH 、SSI,php语言的 smarty(MVC模式),python语言的django(MTV模式)等等
设计模式有哪些?

工厂模式、适配器模式、策略模式等等


简而言之:框架是大智慧,用来对软件设计进行分工;设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度。

相关文章推荐

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

架构:简单的说架构就是一个蓝图,是一种设计方案,将客户的不同需求抽象成为抽象组件,并且能够描述这些抽象组件之间的通信和调用。        框架:软件框架是项目软件开发过程中提取特定领域软件的共性部...

ios之高人浅谈设计模式,架构,框架和类库的区别

类比的例子是盖房子,我先从设计模式说起。人类从住山洞到现在的住高楼大厦中间的居住形态经历了无数次的演变,不同的  人用自己的智慧诠释了对居住环境的理解,并且由于有了文字这些经验都被记录下来了。现在打...
  • MR_ROG
  • MR_ROG
  • 2014年11月21日 22:33
  • 1226

框架和设计模式的区别

框架和设计模式的区别: 框架通常是代码重用,而设计模式是设计重用,架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。 在软件生产中有三种级别的重用: 内部重用,即在同一应用中能公共使用...

也谈设计模式,架构,框架和类库的区别 (转载)

看了廖大的《设计模式,框架,架构》http://www.dualface.com/blog/?p=546 感觉受益良多,下面我打算用一个比方来诠释我的理解 我类比的例子是盖房子,我先从设计模式说...

也谈设计模式,架构,框架和类库的区别

我看到的原文地址:http://www.360doc.com/content/11/0827/03/3554006_143582742.shtml ---以下摘取了片段---  看了廖大的...

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

一组概念需要先理解,因为后面需要用:架构:简单的说架构就是一个蓝图,是一种设计方案,将客户的不同需求抽象成为抽象组件,并且能够描述这些抽象组件之间的通信和调用。框架:软件框架是项目软件开发过程中提取特...

IOS设计模式,架构,框架和类库的区别 (转载)

也谈设计模式,架构,框架和类库的区别 (转载) 看了廖大的《设计模式,框架,架构》http://www.dualface.com/blog/?p=546 感觉受益良多,下面我打算用一个比方来诠释...
  • hzdg360
  • hzdg360
  • 2016年02月22日 21:14
  • 370

框架和设计模式之间的区别

框架、设计模式这两个概念总容易被混淆,其实它们之间还是有区别的。框架通常是代码重用,而设计模式是设计重用,架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。在软件生产中有三种级别的重用...

MVC框架(二)----前端与后端MVC、MVVM等设计模式区别与联系

上篇文章中提到了前端的框架分类,其中前端JS框架中有些是MVC设计模式,但是java和dotNET平台也有自己的MVC也有自己的设计模式,这两类有什么区别呢,好多猿们甚是不解,旁征博引后自己总结了一些...

设计模式之Frameworks 框架

Frameworks 框架 设计模式
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:框架和设计模式的区别
举报原因:
原因补充:

(最多只允许输入30个字)