设计模式,框架,架构,平台
发布日期:2021-06-28 15:22:13 浏览次数:2 分类:技术文章

本文共 1543 字,大约阅读时间需要 5 分钟。

一、概念的区别:

1、设计模式
  是在某种特定上下文中针对一个软件生命周期中出现的问题而给出的多次适用的解决方案。

2、框架

  框架是一组软件组件,它们互相协作提供了针对某个给定的问题领域中的应用程序所用到的一种可复用的体系结构。 
做WEB开发接触到最多的框架可数ORM框架,ORM框架只是所有数据关系映射框架的统称,具体的如NHibernate、ActiveRecord等,框架是为了解决特定问题而存在的,其它诸如模板框架、缓存框架,框架不能直接使用,需要二次开发。

3、架构

  软件体系结构通常被称为架构,指可以预制和可重构的软件框架结构。用于指导大型软件系统各个方面的设计。简单的说架构就是一个蓝图,是一种设计方案,将客户的不同需求抽象成为抽象组件,并且能够描述这些抽象组件之间的通信和调用。 
  从大的层面来说,比如针对公司业务的B2C网站系统架构,里面可能会用到多种解决各方面问题的框架,关注的是技术整合、扩展、可维护性。换个角度,在框架中也会涉及到架构问题,比如开发NHibernate框架,也需要考虑如何进行设计。

4、平台

  平台的概念类似框架,但又结合的架构的考虑,它是更高层面上的“框架”,准确说是一种应用。它是针对企业用户,为解决企业业务需要而形成的产品。

5、大小关系(不同角度)

  设计模式<脚手架demo<SDK<框架<架构<平台,从复用角度讲,设计模式是代码级复用、框架是模块级复用、架构是系统级复用、平台是企业应用级复用。 
  

二、框架(Framework)和架构(Architecture)的具体区别

   2.1、框架是一种特殊的软件,它并不能提供完整无缺的解决方案,而是为你构建解决方案提供良好的基础。框架是半成品。典型地,框架是系统或子系统的半成品;框架中的服务尅被最终应用系统直接调用,而框架中的扩展点是供应用开发人员定制的“可变化点”。 
框架落脚在“架”字上,可以理解成名词性的,是一个客观性的名词存在,如.Net Framework。 
  2.2、架构不是软件,而是关于软件如何设计的重要策略。架构体现在“构”字上,理解成构造,是一个动词性的,是一系列动作发生的策略性体现。 
软件架构决策设计到如何将软件系统分解成不同的部分、各部分之间的静态结构关系和动态交互关系等。经过完整的开发过程之后,这些架构决策将体现在最终开发出的软件系统中;当然,引入软件架构之后,整个开发过程变成了“分两步走”,而架构决策往往会体现在框架之中。 
  2.3、 框架技术和架构技术的出现,都是为了解决软件系统日益复杂所带来的困难而采取“分而治之”思维的结果—–先大局后局部,就出现了架构;先通用后专用,就出现了框架。下图很好地揭示了这一点。架构是问题的抽象解决方案,它关注大局而忽略细节;而框架是通用半成品,还必须根据具体需求进一步定制开发才能变成应用系统。 
 
  2.4 、总结: 
  (1)为了尽早验证架构设计,或者处于支持产品线开发的目的,可以将关键的通用机制甚至整个架构以框架的方式进行实现。 
  (2)业界(及公司内部)可能存在大量可供重用的框架,这些框架或者已经实现了软件架构所需的重要架构机制,或者为未来系统的某个子系统提供了可扩展的半成品,所以最终的软件架构可以借助这些框架构造。

使用优秀框架的好处

1. 易于开发:框架对底层的API进行封装,开发者不需要直接接触底层的API,字需要写一些必须的代码。
2. 结构清晰:清晰的结构使得各模块功能明确,更易于阅读,从而使其他开发者能够更快加入,也降低了后期维护成本。
3. 易于测试:采用成功的框架的代码比自己测代码容易测试。
4. 缩短周期:采用成功的框架能缩短项目的设计、开发周期。
 

转载地址:https://blog.csdn.net/xiamaocheng/article/details/100395672 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:微服务和分布式的区别
下一篇:TensorFlow/MXNet/Caffe/Torch/GraphLa 的机器学习库的比较

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月06日 03时58分13秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章