正确认识软件框架的利与弊

软件重用既是GJB5000A三级的要求,也是软件工程最佳实践。实施GJB5000A三级的组织都在推软件重用。其中,使用软件框架就是软件重用的一种方式。那么,什么是软件框架呢?下面是对软件框架做些简单的说明。

1. 架构和框架的区别

架构和框架这两个看似相像的两个术语,其实是两个完全不同的概念。具体来说:

  • 架构是指软件的结构,以及结构元素之间的动态关系,而框架是架构的一个组成元素;
  • 从软件系统的角度来看,框架是编程的工具,而架构是目标;
  • 框架本身也具有架构,而架构可以不考虑使用框架;
  • 架构对于软件开发人员的约束是方向性的,而来自框架的约束是具体的;
  • 框架为软件开发人员提供了丰富的服务,而架构只会对结构元素提出各种服务的要求。
  • 2. 使用框架就意味着接受框架的约束

    框架的本质是约束。框架的设计者正是通过约束来传递软件构架思想的。使用框架,意味着接受框架设计者的想象和思想,意味着使用固定的编程模式,意味着编写指定格式的类型,意味着无条件接受框架提供的服务,意味着你将受限于框架的能力。

    比方说,你使用了Struts框架,那么你必须认同MVC模式思想,你必须思考页面的流转、对象模型的建立、业务逻辑的控制,你必须引用或继承框架提供的Action,你必须按照框架的要求配置你的工作成果,然后享用框架帮助运转工作成果的自动化过程,最后,你必须接受Struts框架的各种缺陷,以及它的发展时间表给你带来的不便。

    3. 框架是由很多元素按某种规范集成在一起的工具

    一个成熟的软件框架必须作为一个整体来使用。你不能轻易地对它做出改动。即使你的改动在当时是正确的,也会在将来软件框架升级之后带来诸多问题。

    软件框架是由满足同一个规范的多个元素集成在一起的。而且为了扩展的需要,集成的元素都是可拆卸的。只要在支持同一个规范的前提下,所有的集成元素应该都可以被替换。

    框架就像是一种特殊的工具。你可以把框架想像成一把螺丝刀:

    只要使用螺丝刀就可以拧螺丝,而不需要局限于使用某一把特定的螺丝刀。

    4. 使用框架要慎重

    使用框架可以让我们更好地进行软件重用,给我们的开发带来诸多便利,但同时我们也要接受框架的约束,忍受框架中的缺陷。

    所以框架的选择和使用是一件需要我们慎重决策的事情。选择框架必须权衡框架所带来的利与弊。而且一旦选定了框架,我们应该采用集成的方法来使用它,而不是轻易地尝试去改变它。

    当然,有时由于项目的需要,创建自己的应用框架也是一种选择。

    综上所述,我们可以看到框架所具有的一些特征:

  • 它是一种隐喻;
  • 它是一种工具;
  • 它是一种规范;
  • 它是一种服务。
  • 框架是把螺丝刀,工具之便省辛劳

    使用框架要受限,看清利弊再出招

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2019年11月25日
    下一篇 2019年11月26日

    相关推荐