课程讲义第08章描述性程序设计语言Declarative Languages.PPT

课程讲义第08章描述性程序设计语言Declarative Languages.PPT

课程讲义第08章描述性程序设计语言Declarative Languages.PPT

Scala语言特性 变量的值可变的,但是变量类型是不可改变的; 常量的值是不可改变的; 常量的类型是显示声明的; Scala语言特性 Supports lightweight syntax for anonymous functions, higher-order functions, nested functions, currying Support for regular expression patterns Scala语言特性 匿名函数 lambda: 函数字面量(Function literal) 产生一段匿名函数,类型为(Int,Int)=Int Scala语言特性 高阶函数(Higher-Order Function)就是操作其他函数的函数。 The basic syntax of a function literal is parameter_list = function_body A higher-order function is one that takes a function as a parameter, or returns a function as a result scala Scala is great!.toList.count((ch: Char) = ch f) res36: Int = 9 scala aeiou contains e res37: Boolean = true scala Scala is great!.toList.count((ch: Char) = aeiou contains ch) res38: Int = 5 Scala语言特性 嵌套函数 Scala语言特性 在lambda演算中,每个表达式都代表一个只有单独参数的函数,这个函数的参数本身也是一个只有单一参数的函数,同时,函数的值是又一个只有单一参数的函数。 多个参数的函数怎么办? Scala语言特性 柯里化(currying) 函数链 把一个带有多个参数的函数,转换为多个只有一个参数的函数来执行 请进来 CORBA和DCOM Web服务 语义理解 CORBA和COM/DCOM 在网络上提供对象服务通常要采用DCOM(Distributed COM)或CORBA。这两种技术各有特点,也各自有相当广泛的应用。 CORBA CORBA全称是公共对象请求代理体系结构(common object request broker architecture),它是由IBM、HP等多家公司联合开发的构件软件的体系结构和构件接口标准。1997年8月版的CORBA2.1的版权页上 已方21个公司、组织。而支持CORBA的对象管理集团OMG已达750多家公司。 CORBA OMA由对象模型(objet model)和参考模型(reference model)组成。对象模型主要定义了如何描述在异种(heterogeneous)环境中的分布式对象;参考模型则刻画了对象之间的交互 ???????????????????????????????????????????????????????????????? OMA参考模型 CORBA 2.0主要包括以下几个部分: ·0RB核心(core)。 ·OMG接口定义语言IDL。 ·语言映射(language mapping)。 ·运行机制。 ·静态调用:包括Stub and Skeleton。 ·动态调用:包括动态Skeleton和接口库(interface repository)。 ·对象适配器(object adapter)。 ·Inter—ORB协议。 CORBA ORB能识别的协议是OMG的接口定义语言IDL。它可完整地确定部件的接口——即客户所需使用接口的全部信息。 IDL定义的接口经IDL编译器编译后能产生客户的桩(stub)及执行对象的骨架(skeleton)这类能与ORB通信的接口: (1)接口桩stub。在编译时确定的静态接口。它位于客户对象的本地,接受客户的请求,对客户来说相当于远程的执行对象。接口桩向ORB提交请求。 (2)动态调用接口(DII)。用于编译时不能确定的请求。与接口桩作用相同。 (3)骨架Skeleton。分动态骨架与静态骨架。它针对执行对象来说代表了远程客户的作用,可在本地调用执行对象服务,并与ORB通信。 (4)对象适配器。提供执行对象可以访问ORB服务的基本接口,其作用是产生及解释对象引用、安全交互、登记和执行等等。 CORBA CORBA对于流行的操作系统如Windows、Unix系列都有很好的支持。就是说,CORBA对象可以运行在任何一种CORBA软件开发商所支持的平台上,如Sol

文档评论(0)

1亿VIP精品文档

相关文档