面向对象、面向服务、面向组件三种编程模式有什么区别

区别是:面向对象编程是一种计算机编程架构。面向对象程序设计以对象为核心,该方法认为程序由一系列对象组成。面向服务编程是一种体系结构,目标是在软件代理交互中获得松散耦合。面向组件编程技术建立在面向对象技术之上,它是面向对象技术的进一步发展。

面向对象、面向服务、面向组件三种编程模式有什么区别-Worktile社区

面向对象

面向对象程序设计(Object Oriented Programming,OOP)是一种计算机编程架构。OOP的一条基本原则是计算机程序由单个能够起到子程序作用的单元或对象组合而成。OOP达到了软件工程的三个主要目标:重用性、灵活性和扩展性。OOP=对象+类+继承+多态+消息,其中核心概念是类和对象。

面向对象程序设计方法是尽可能模拟人类的思维方式,使得软件的开发方法与过程尽可能接近人类认识世界、解决现实问题的方法和过程,也即使得描述问题的问题空间与问题的解决方案空间在结构上尽可能一致,把客观世界中的实体抽象为问题域中的对象。

面向对象程序设计以对象为核心,该方法认为程序由一系列对象组成。类是对现实世界的抽象,包括表示静态属性的数据和对数据的操作,对象是类的实例化。对象间通过消息传递相互通信,来模拟现实世界中不同实体间的联系。在面向对象的程序设计中,对象是组成程序的基本模块。

面向服务

面向服务编程(Service-Oriented Programming),SOP是一种体系结构,目标是在软件代理交互中获得松散耦合,

这里的好处就是你可以用不同的CD机去播放同一张CD。他们能提供同样的CD播放服务,但是服务质量是不同的。

SOP的思想明显不同于面向对象的编程,面向对象编程强烈的建议你应该将数据与其操作绑定。因此在面向对象编程风格中,每张CD 有它自己的CD播放机,他们之间不能被拆开。这听起来很奇怪,但是这就是我们建立许多已存软件系统的方式。

而SOP就不一样了,为了减少异构性、互操作性和不断改变的要求的问题,这样的体系结构应该提供平台来构建具有下列特征的应用程序服务:

松散耦合、位置透明、协议独立

基于这样的面向服务的体系结构,服务使用者甚至不必关心与之通信的特定服务,因为底层基础设施或服务“总线”将代表使用者做出适当的选择。基础设施对请求者隐藏了尽可能多的技术。特别地,来自不同实现技术(如 J2EE 或 .NET)的技术规范不应该影响 SOP用户。如果已经存在一个服务实现,我们就还应该重新考虑用一个“更好”的服务实现来代替,新的服务实现必须具有更好的服务质量。

面向组件

面向组件(COP,Component-Oriented Programming)编程是一种编程思想,它来源于软件工程领域,是高级语言编程中的概念。面向组件技术建立在面向对象技术(OOP,Object-Oriented Programming)之上,它是面向对象技术的进一步发展。它的定义是:系统中一种物理的、可代替的部件、它按照某种类别对部分数据及逻辑进行封装,并对外提供了一系列可用的接口。一个组件代表一个系统中实现的物理部分。

组件和组件接口是面向组件编程的的两个重要概念。组件是一个明确定义了接口和相关功能的可组合的单元,它可以独立的发行并供第三方使用及再进一步组装。组件接口描述了组件对外提供的服务,组件和组件之间、组件和客户之间同时通过组件接口进行交互。组件发布后只能通过预定义的接口提供服务,因此组件的接口应具有稳定性、合理性,组件的接口必须标准化,这是组件是否成熟的标志之一。

延伸阅读:

什么是编程?

编程是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。

为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。

编程:设计具备逻辑流动作用的一种“可控体系”【注:编程不一定是针对计算机程序而言的,针对具备逻辑计算力的体系,都可以算编程。】

在计算机系统中,一条机器指令规定了计算机系统的一个特定动作。一个系列的计算机在硬件设计制造时就用了若干指令规定了该系列计算机能够进行的基本操作,这些指令一起构成了该系列计算机的指令系统。在计算机应用的初期,程序员使用机器的指令系统来编写计算机应用程序,这种程序称为机器语言程序。使用机器语言编写的程序,由于每条指令都对应计算机一个特定的基本动作,所以程序占用内存少、执行效率高。缺点也很明显,如:编程工作量大,容易出错;依赖具体的计算机体系,因而程序的通用性、移植性都很差。

文章标题:面向对象、面向服务、面向组件三种编程模式有什么区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38538

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编的头像小编
上一篇 2023年2月16日 下午11:19
下一篇 2023年2月16日 下午11:22

相关推荐

  • 项目完成后的管理叫什么

    项目完成后的管理被称为项目后期评审、维护管理和知识管理。这三个方面是项目完成后的主要管理内容,它们各有各的重要性,相互之间又有着千丝万缕的联系。其中,项目后期评审是对项目整个过程进行总结的重要环节,可以帮助项目团队发现问题,改正错误,提高未来项目的成功率。 一、项目后期评审 在项目完成后,项目团队需…

    2024年8月6日
    000
  • 项目的行政管理什么意思

    项目的行政管理,通常指的是在项目实施过程中,为了实现项目目标,对项目中的人力资源、物力资源、财力资源和信息资源等进行有效的组织、协调、控制和指导的过程。主要包括项目的策划、组织、指导、协调、控制、评估等方面。具体来说,项目的行政管理主要有以下几个方面: 在项目策划阶段,行政管理的任务是对项目进行全面…

    2024年8月6日
    000
  • 项目管理七加四什么意思

    项目管理的“七加四”是一种非常重要的管理理念,它是指七个流程组和四个知识领域。七个流程组包括:启动、规划、执行、监控、控制、结束,以及持续改进。四个知识领域包括:项目整合管理、项目范围管理、项目时间管理、项目成本管理。这些流程和知识领域是项目管理的核心,每个项目管理者都需要对其有深入的理解和掌握。 …

    2024年8月6日
    000
  • 项目管理师是什么东西

    项目管理师是一个专门负责项目管理的专业角色。他们的主要职责包括规划、组织、协调、控制和评估项目的所有阶段,确保项目能够按照预定的质量、成本和时间完成。项目管理师需要具备丰富的专业知识和实践经验,以及良好的沟通、协调和解决问题的能力。他们需要使用专门的项目管理工具和方法,如PingCode和Workt…

    2024年8月6日
    000
  • 项目数字化管理下载什么

    项目数字化管理,是当前企业管理中的新趋势。它能使项目管理更加科学、系统,从而提高项目的执行效率、质量和效益。在进行项目数字化管理时,需要选择合适的工具进行支持。其中,PingCode和Worktile是两款值得推荐的项目数字化管理工具。它们都是基于云计算的项目管理软件,具有卓越的项目管理、团队协作等…

    2024年8月6日
    000

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部