设计模式、框架、架构

设计模式

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

框架

一个框架可以包含多个设计模式。框架就是一组相互协作的类,对于特定的一类软件,框架构成了一种可重用的设计。框架则是设计和代码的一个混合体。
软件框架是项目软件开发过程中提取特定领域软件的共性部分形成的体系结构,不同领域的软件项目有着不同的框架类型。框架的作用在于:由于提取了特定领域软件的共性部分,因此在此领域内新项目的开发过程中代码不需要从头编写,只需要在框架的基础上进行一些开发和调整便可满足要求;

  • C++语言的QT、MFC、gtk
  • Java语言的SSH 、SSI
  • php语言的 smarty(MVC模式)
  • python语言的django(MTV模式)

架构

软件体系机构。体系结构确定了系统整体结构、层次划分,不同部分之间的协作等设计考虑。框架比架构更具体。更偏重于技术涉嫌。确定框架后,软件体系结构也随之确定,而对于同一软件体系结构(比如Web开发中的MVC),可以通过多种框架来实现。

MVC、MTV、MVP、CBD、ORM

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

项目 设计模式 框架 架构
应用领域 - - -
复用性 - - -

框架和设计模式的区别

有很多程序员往往把框架模式和设计模式混淆,认为MVC是一种设计模式。实际上它们完全是不同的概念。 框架、设计模式这两个概念总容易被混淆,其实它们之间还是有区别的。

框架通常是代码重用,而设计模式是设计重用,架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。


在软件生产中有三种级别的重用:

  • 内部重用,即在同一应用中能公共使用的抽象块;
  • 代码重用,即将通用模块组合成库或工具集,以便在多个应用和领域都能使用;
  • 应用框架的重用,即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用性。

框架与设计模式虽然相似,但却有着根本的不同。

  • 设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更抽象;
  • 框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示;

设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定应用领域,但同一模式却可适用于各种应用。可以说,框架是软件,而设计模式是软件的知识。

参考资源

1. MVC框架

你可能感兴趣的:(设计模式、框架、架构)