`
liuguofeng
  • 浏览: 449575 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

解读架构,框架,模式,构件,组件,中间件之间区别

    博客分类:
  • Java
 
阅读更多

一、什么是架构?

  架构、框架、模式是一种从大到小的关系,也是一种组合关系。

  架构一般针对一个行业或一类应用,是技术和应用完美的结合。

  框架因为比较小,很多表现为中间件,框架一般是从技术角度解决同类问题,例如J道数据增删改查框架就解决了所有数据库系统中大量数据增删改查的功能开发,框架是从技术的横切面去解决实际应用问题。

  模式则更小了,越小越灵活,可重用的范围更广。

  一个框架可能使用了多个模式,而一个架构有可能应用了多个框架,这样一个大型系统的设计基本从主骨干到骨架基本能够被设计者考虑设计到,也可以想见,一个系统被细化成了很多工作量,例如一个部分细化到工厂模式,那么就可以要求程序员实现工厂模式的代码即可。

  由此,控制了大型软件质量,也提高开发效率,同时使得项目变得易于管理和协同,由此可见,一个大型项目的架构设计非常重要。

  二、什么是框架?

  框架,即framework。其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。

  三、什么是模式?

  模式,即pattern。其实就是解决某一类问题的方法论。你把解决某类问题的方法总结归纳到理论高度,那就是模式。

  Alexander给出的经典定义是:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。

  模式有不同的领域,建筑领域有建筑模式,软件设计领域也有设计模式。当一个领域逐渐成熟的时候,自然会出现很多模式。

  四、什么是构件?

  构件(component)是可复用的软件组成成份,可被用来构造其他软件。它可以是被封装的对象类、类树、一些功能模块、软件框架(framwork)、软件构架(或体系结构Architectural)、文档、分析件、设计模式(Pattern)等。构件分为构件类和构件实例,通过给出构件类的参数,生成实例,通过实例的组装和控制来构造相应的应用软件,这不仅大大提高了软件开发者的开发效率,也大大提高了软件的质量。

  五、什么是组建?

  1、组件概念

  简而言之,组件就是对象。C++ Builder中叫组件,Delphi中叫部件,而在Visual BASIC中叫控件。

  组件是对数据和方法的简单封装。C++ Builder中,一个组件就是一个从TComponent派生出来的特定对象。组件可以有自己的属性和方法。属性是组件数据的简单访问者。方法则是组件的一些简单而可见的功能。

  组件是C++ Builder环境中最令人激动的部分。使用组件可以实现拖放式编程、快速的属性处理以及真正的面向对象的设计。VCL和CLX组件是C++ Builder系统的核心。

  2、组件应用

  使用现成的组件来开发应用程序时,组件工作在两种模式下:设计时态和运行时态。

  在设计时态下,组件显示在C++ Builder窗体编辑器下的一个窗体中。设计时态下组件的方法不能被调用,组件不能与最终用户直接进行交互操作,也不需要实现组件的全部功能。

  在运行状态下,组件工作在一个确实已经运行的应用程序中。组件必须正确地将自身表示出来,它需要对方法的调用进行处理并实现与其他组件之间有效的协同工作。

  设计时态下所有的组件在窗体中都是可见的,但在运行时态下不一定可见。如TTable、TQuery和TDataSet在运行时态下就不可见,但他们均完成了重要的功能。

  3、组件创建

  创建组件就是自行设计制作出新的组件。

  设计组件是一项繁重的工作。自行开发组件与使用组件进行可视化程序开发存在着极大的不同,要求程序员熟知原有的VCL类库结构,精通面向对象程序设计。

  设计组件是一项艰苦的工作。对于组件的开发者,组件是纯粹的代码。组件的开发不是一个可视化的开发过程,而是用C++或Object Pascal严格编制代码的工作。实际上,创建新组件使我们回到传统开发工具的时代。虽然这是一个复杂的过程,但也是一个一劳永逸的过程。

  创建组件的最大意义在于封装重复的工作,其次是可以扩充现有组件的功能。

  组件创建过程包括设计、开发、调试(就是所谓的3D's)工作,然后是组件的使用。

  组件开发者应该掌握的三项主要内容是:属性、事件和方法。

  六、什么是中间件?

  中间件作为一大类系统软件,与操作系统,数据库管理系统并称"三套车",其重要性是不言而语的。

  我们来看看以下的几种定义:

 _middleware, is a layer of software between the network and the applications. This software provides services such as identification, authentication, authorization, directories, and security. In today's Internet, applications usually have to provide these services themselves, which leads to competing and incompatible standards. By promoting standardization and interoperability,_middleware will make advanced network applications much easier to use.

  同样,IDC给出的一个定义:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。

  从这些定义中可以看出:

  – 中间件是一类软件,而非一种软件;

  – 中间件不仅仅实现互连,还要实现应用之间的互操作;

  – 中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。

  七、为什么要用模式和框架

  因为模式是一种指导,在一个良好的指导下,有助于你完成任务,有助于你作出一个优良的设计方案,达到事半功倍的效果。而且会得到解决问题的最佳办法。

  因为软件系统发展到今天已经很复杂了,特别是服务器端软件,设计到的知识,内容,问题太多。在某些方面使用别人成熟的框架,就相当于让别人帮你完成一些基础工作,你只需要集中精力完成系统的业务逻辑设计。而且框架一般是成熟,稳健的,他可以处理系统很多细节问题,比如,事物处理,安全性,数据流控制等问题。还有框架一般都经过很多人使用,所以结构很好,所以扩展性也很好,而且它是不断升级的,你可以直接享受别人升级代码带来的好处。

分享到:
评论

相关推荐

    架构_框架_模式_构件_组件_中间件之间区别

    架构、框架、模式、构件、组件、和中间件之间的区别是软件开发中一个重要的概念。架构是从大到小的一种关系,也是一种组合关系,通常针对一个行业或一类应用,是技术和应用的完美结合。框架是从技术的横切面去解决...

    架构,构件,组件,框架,中间件之间区别

    在IT领域,尤其是在软件开发与系统构建中,“架构”,“构件”,“组件”,“框架”以及“中间件”是常见的术语,它们各自扮演着不同的角色,对于系统的整体设计与功能实现至关重要。下面将深入探讨这些概念的区别与...

    框架、组件、插件、控件中间件概念及区别

    本文旨在详细解析框架、组件、插件、控件以及中间件这几个概念,并探讨它们之间的区别与联系。 #### 几个概念 1. **类库** 类库是指程序员用来实现各种功能的一系列类的集合。例如`FileUtil`和`XMLUtil`等工具类...

    《软件构件与中间件技术》电子教案

    1. **提高软件复用性:** 通过标准化的接口和组件化的开发模式,软件构件可以在不同的项目中重复使用,从而减少了开发时间和成本。 2. **增强软件的灵活性:** 中间件提供了一层抽象,使得开发者无需关心具体的底层...

    《软件构件与中间件技术》全真试题

    根据给定文件的信息,我们可以提炼出以下几个...以上是根据给定文件总结的关于“软件构件与中间件技术”的关键知识点,涵盖了分布式系统的架构、中间件的功能、CORBA和EJB的相关概念以及WebService的基础等方面的内容。

    《软构件与中间件JavaEE》实验报告

    吉林大学,软构件大作业实验报告

    whut软件构件与中间件技术课程各类学习资料

    通过对这份资料的研读,我们可以深入了解中间件如何支持服务的注册与发现、负载均衡、故障恢复等高级特性,以及构件模型、构件接口设计和构件之间的协作机制。 在《武汉理工中间件复习题.docx》中,可能会有针对...

    软件构件与中间件技术.pdf

    最后,中间件技术作为软件构件与中间件课程的核心内容,它的主要功能是作为软件系统各层之间的粘合剂,提供数据通信和协作服务。中间件技术包括消息队列、远程过程调用(RPC)、事务处理监控器和对象请求代理(ORB)...

    软件构件与中间件.doc

    软件构件与中间件的关系紧密,中间件可以作为构件之间的桥梁,提供连接和通信的功能。构件和中间件的结合可以提高软件系统的可靠性和可扩展性。 知识点: 1. 软件构件的定义和优点 2. 面向构件的方法和面向过程、...

    武汉理工大学软件构件与中间件技术课程各类学习资料

    在IT行业中,软件构件与中间件技术是现代软件开发中的重要组成部分,对于提升软件的复用性、可扩展性和系统性能具有关键作用。本压缩包包含的资源是针对武汉理工大学该课程的学习资料,旨在帮助学生深入理解和掌握...

    武汉理工大学软件构件与中间件重点

    29. **SFA (Server Framework Adapter)**:服务器框架适配器是一种用于在不同服务器框架之间进行转换的组件。SFA可以帮助实现不同框架之间的兼容性。 30. **MOF (Meta Object Facility)**:元对象设施是一种用于...

    《软件构件与中间件技术》全真试题[借鉴].pdf

    中间件则扮演着连接不同软件组件的角色,确保它们之间的通信顺畅。 1. **3层结构的分布式系统**: - 这种结构通常包含客户层、中间层和数据层。核心业务逻辑位于中间层,它处理来自客户端的请求,并与数据层进行...

    soa sca服务构件架构spring构件实现方案

    在SCA服务构件中,依赖注入使得服务组件之间的依赖关系更加清晰,降低了组件之间的耦合度,提高了代码的可测试性和可维护性。 **2. 组件模型** Spring框架提供了一种基于XML或注解的组件模型,这使得开发人员能够...

Global site tag (gtag.js) - Google Analytics