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

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

面向对象、面向服务、面向组件三种编程模式有什么区别-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

相关推荐

  • 为什么会选择make,cmake之流来控制程序编译

    选择make、cmake之流来控制程序编译是因为:1、为了跨平台;2、构建工具的生态;3、速度;4、需要很多控制。为了跨平台指假如使用 IDE,就需要分别为每个 IDE 重复配置。使用 cmake 工具,只需要写好配置一次,开发的时候根据开发人员的习惯来选择开发方式。 1、为了跨平台 不同的平台有不…

    2023年1月27日
    6800
  • okr和项目管理的区别

    okr和项目管理的区别:1、时间限制不同;2、颗粒度不同;3、关注点不同;4、可控性不同;5、与考核关联度不同。时间限制不同是指,项目管理是有严格时间限制的,OKR严格来说并没有。 一、okr和项目管理的区别 1、时间限制不同:项目管理是有严格时间限制的,OKR严格来说并没有。 2、颗粒度不同:项目…

    2023年3月5日
    6600
  • 白板式的项目管理看板工具网站有哪些

    白板式的项目管理看板工具网站包括:1、Prodrafts;2、Microsoft Whiteboard;3、FlowUs;4、GUGA;5、Inko。prodrafts是一款功能齐全的手机记录工具,这款软件中所具有的记录功能比较全面,无论你想记账还是记录相应的知识点,都可以使用它来完成。 1、Pro…

    2023年1月6日
    10500
  • 编程语言绑定是什么原理

    编程语言绑定的实现原理有两种方式:静态绑定和动态绑定。静态绑定的实现原理是将两种编程语言的代码编译成一个可执行文件。动态绑定的实现原理是通过将两种编程语言的代码分别运行在不同的进程中,然后通过进程间通信(IPC)的方式进行交互。 静态绑定 静态绑定是指在编译时将两种不同的编程语言进行绑定。静态绑定适…

    2023年2月28日
    3300
  • 工时管理有哪些意义

    工时管理的意义包括以下几点:1、提高企业的工作效率;2、调动员工的工作兴趣;3、激励员工自我提升;4、明确企业规划。工时管理制度实现了企业人力资源的有效配置,最大限度地调动了员工的积极性,提高了企业工作效率和经济效益。 1、提高企业的工作效率 工时制度促使企业从粗放式经营向精细化经营转变,因为工时制…

    2022年11月30日
    37700
  • 类似jeecg这样的java框架有哪些呢

    类似jeecg这样的java框架有:1、Spring;2、STRUCTS;3、Hibernate。其中,Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。 一、Spring Spring是一个…

    2023年2月9日
    10900
  • java和javaEE有什么区别

    java和javaEE的区别主要是:1、定义不同;2、用处不同。java是编程语言,创建的目的为了消除c++指针的复杂性,使用jvm虚拟机来自动管理内存。javaEE是当年sun公司搞的ejb规范,主要用于企业级开发,有容器管理的java程序,类似现在的web服务,微服务程序。 1、定义不同 jav…

    2023年1月30日
    5200
  • 产品经理用的原型工具有哪些

    产品经理用的原型工具有:1、摹客RP;2、Axure RP;3、sketch;4、Xmind。其中,摹客RP是一款永久免费的原型设计工具。摹客还提供了丰富的组件,拖拽即可使用,相比于Axure需要自己去一步步搜索下载组件包的方式,使用摹客RP画图的效率会高很多。 一、摹客RP 一款永久免费的原型设计…

    2023年4月20日
    2000
  • 数据采集的五种方法有哪些

    数据采集的五种方法有:1、调查法;2、观察法;3、实验方法;4、文献检索;5、网络信息收集。调查法分为普查和抽样调查两大类,观察法是指观察法是指研究者根据一定的研究目的、研究提纲或者观察表,用自己的感官和辅助工具去直接观察被研究对象,从而获得资料的一种方法。 1、调查法 调查法分为普查和抽样调查两大…

    2023年3月24日
    13500
  • 传输中加密和静态加密有什么区别

    传输中的数据加密是指在传输过程中加密数据(称为“端到端加密”)可确保即使数据被拦截,它的私密性也会得到保护。静态数据加密是指当数据位于存储设备上、没有被积极积极使用或者传输时,即被认为静态,静态数据加密就是在这个过程中进行加密。 传输中加密和静态加密有什么区别 诸如数据加密软件和云数据加密等数据加密…

    2022年11月3日
    11300

发表回复

登录后才能评论
联系我们
站长微信
站长微信
分享本页
返回顶部