设计模式、框架、架构

设计模式

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

框架

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

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

架构

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

MVC、MTV、MVP、CBD、ORM

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

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

框架和设计模式的区别

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

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


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

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

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

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

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

参考资源

1. MVC框架

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,823评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,771评论 19 139
  • 所谓格局,就是与众不同,专注数学科学,但要提问,没有疑问,不会设问的学生,没有思维,谨小慎微胆子的受限制,也未有思...
    毛逗妈阅读 981评论 0 0
  • 行行出状元,知道谁说的吗? 慈禧 Prefect
    莹鸽鸽阅读 861评论 0 0
  • 大家好,我就是人见人爱、花见花开、车见车载的小博,我又来啦。 请点击此处输入图片描述 相信昨天大家都看到了,网易娱...
    故事bo阅读 3,106评论 0 0