关于OOP/COP/AOP/SOP的编程、开发(软件工程)和架构的模式的阐述

标签: 编程 架构 oop aop sop
27人阅读 评论(0) 收藏 举报
分类:
面向对象编程(OOP)、面向组件编程(COP)、面向方面编程(AOP)和面向服务编程(SOP)
1、什么是面向对象编程(Object-Oriented Programming)? 
2、什么是面向组件编程(Component-Oriented Programming)? 
3、什么是面向方(切)面编程(Aspect-Oriented Programming)?
4、什么是面向服务编程(Service-Oriented Programming)?
分析:
<1>面向对象编程(Object-Oriented Programming)简称OOP技术,是开发计算机应用程序的一种新方法、新思想。过去的面向过程
编程常常会导致所有 的代码都包含在几个模块中,使程序难以阅读和维护。在做一些修改时常常牵一动百,使以后的开发和维护难以为继。
而使用OOP技术,常常要使用许多代码模 块,每个模块都只提供特定的功能,它们是彼此独立的,这样就增大了代码重用的几率,更加有利
于软件的开发、维护和升级。在面向对象中,算法与数据结构被看做是一个整体,称作对象,现实世界中任何类的对象都具有一定的属性和操
作,也总能用数据结构与算法两者合一地来描述, 所以可以用下面的等式来定义对象和程序: 
对象=(算法+数据结构),程序=(对象+对象+……)。 
从上面的等式可以看出,程序就是许多对象在计算机中相继表现自己,而对象则是一个个程序实体。 
<2>组件不是一个新的概念,Java中的javaBean规范和EJB规范都是典型的组件。组件的特点在于他定义了一种通用的处理方式。例如,
JavaBean 拥有内视的特性,这样就可以通过工具来实现JavaBean的可视化。而EJB规范定义了企业服务中的一些特性,使得EJB容器能够为
符合EJB规范的代码增添企业计算所需要的能力,例如事务、持久化、池等。 
所以,组件比起对象来的进步就在于通用的规范的引入。通用规范往往能够为组件添加新的能力(就像上面所讨论的),但也给组件添加了
限制,例如你需要实现EJB的一些接口 
COP比OOP更进一步。通常OOP将数据对象组织到实体中。这种方法具有很多优点。但是,OOP有一个大的限制:对象之间的相互依赖关系。
去掉这个限制的一个好的想法就是组件。组件和一般对象之间的关键区别是组件是可以替代的。
<3>将通用需求功能从不相关类之中分离出来;同时,能够使得很多类共享一个 行为,一旦行为发生变化,不必修改很多类,只要修改这个
行为就可以。 
AOP就是这种实现分散关注的编程方法,它将“关注”封装在“方面”中。 
<4>SOP是一种体系结构,目标是在软件代理交互中获得松散耦合。一个服务是一 个服务提供者为一个服务消费者获得其想要的最终结果
的一个工作单元。服务者与消费者都以软件代理代表他们自己的角色。这听起来有些太抽象,但是SOP确实无处不在。让我们在你的住房中找
到一个SOP的例子。例如播放一个CD,你可以将要播放的CD放入CD机中,CD机将为你 播放这张CD,CD机提供了一个CD播放服务。这里的
好处就是你可以用不同的CD机去播放同一张CD。他们能提供同样的CD播放服务,但是服务质量是不同的。 
    SOP的思想明显不同于面向对象的编程,面向对象编程强烈的建议你应该将数据与其操作绑定。因此在面向对象编程风格中,每张CD 有它
自己的CD播放机,他们之间不能被拆开。这听起来很奇怪,但是这就是我们建立许多已存软件系统的方式。而SOP就不一样了,为了减少异
构性、互操作性和不断改变的要求的问题,这样的体系结构应该提供平台来构建具有下列特征的应用程序服务: 
松散耦合、位置透明、协议独立 
    基于这样的面向服务的体系结构,服务使用者甚至不必关心与之通信的特定服务,因为底层基础设施或服务“总线”将代表使用者做出适当
的选择。基础设施对请求者隐藏了尽可能多的技术。特别地,来自不同实现技术(如 J2EE 或 .NET)的技术规范不应该影响 SOP用户。如果
已经存在一个服务实现,我们就还应该重新考虑用一个“更好”的服务实现来代替,新的服务实现必须具有更好的服务质量。

OOA:
Object Oriented Analysis 面向对象分析方法

OOD:
Object Oriented Design 面向对象设计

OOP:
Object Oriented Programming 面向对象的程序设计
参考文章:
查看评论

面向对象先生和他的兄弟姐妹们(二)——小议【OOP、COP、AOP、SOP】

面向对象的简单理解: 从世界观的角度:面向对象的基本哲学是认为世界是由各种各样具有自己的运动规律和内部状态的对象所组成的;不同对象之间的相互作用和通讯构成了完整的现实世界。因此,人们应当按照现实世界这...
  • u011500356
  • u011500356
  • 2015-08-24 20:26:55
  • 1309

简单理解sop,oop,aop,cop

OOP:Object-Oriented Programming  面向对象编程COP: Component-Oriented Programming 面向组件编程AOP:Aspect-Oriented...
  • wangliming11050523
  • wangliming11050523
  • 2009-12-13 22:45:00
  • 634

面向对象先生和他的兄弟姐妹们——小议【OOP、COP、AOP、SOP】

接着上一篇《从门卫的思维方式来看——面向对象》。上次我们聊到了面向对象的来龙去脉,但是聊得比较粗。这次再补充一点,慢慢来完善这个体系结构。 怎么来的?     故事是从结构化的出现开始的……  ...
  • u011500356
  • u011500356
  • 2015-08-14 17:13:33
  • 817

OOP,COP,AOP,SOP

OOP,COP,AOP,SOP
  • SuitBeggar
  • SuitBeggar
  • 2017-04-20 14:20:40
  • 240

OOP VS. FP VS. AOP VS. COP

OOP (Object-oriented Programming) e.g., C++, Enterprise JAVA, Object-oriented PHP FP (Functional Pr...
  • leisiyu320
  • leisiyu320
  • 2014-03-01 07:44:34
  • 1008

AOP面向切面编程和OOP面向对象编程

在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的...
  • cheng731115175
  • cheng731115175
  • 2015-11-17 11:10:49
  • 4174

浅析AOP与OOP

AOP为Aspect OrientedProgramming的缩写,意为面向切面编程。那什么又是面向切面?它与仅有一字之差的OOP又有着什么样的区别与联系?所谓的面向切面编程其实是对业务逻辑又进行了进...
  • a1314517love
  • a1314517love
  • 2013-09-20 14:49:55
  • 15635

尝试用AOP解决OOP和设计模式问题(2)

Csdn dotnet blog 专家群  JGTM我们在这一篇文字中将从另一个角度考虑原文中提出的问题,并深入探索.NET/CLR中提供的相关技术机制,最终以一种AOP的形式达成同样的结果。为了让你...
  • dotnetgroup
  • dotnetgroup
  • 2005-11-15 15:27:00
  • 1954

AOP是什么?与OOP的区别

Aop是什么? AOP(Aspect Oriented Programming) 面向切面编程,是目前软件开发中的一个热点,是Spring框架内容,利用AOP可以对业务逻辑的各个部分隔离,从而使的业...
  • u013400939
  • u013400939
  • 2016-04-18 21:59:07
  • 3611

面向服务编程

从最初的面向过程编程,到后来觉得难以理解的面向对象编程,从软件工程的发展历程中来看,这已经成为我们编程路上熟知的两种编程方式。     接触了ITOO项目这么长时间,才发现,不知不觉,我们已经进入了...
  • u013034223
  • u013034223
  • 2016-01-24 19:14:30
  • 2163
    个人资料
    持之以恒
    等级:
    访问量: 1万+
    积分: 1112
    排名: 4万+
    自定义-张

    名言格言:

    The reasonable man adapts himself to the world; The unreasonable one persists in trying to adapt the world himself.

      明白事理的人使自己适应世界;不明事理的人想让世界适应自己。  -------萧伯纳

     

    联系方式:

     

    邮箱:


    Q Q:
    微信:

                
    最新评论