构件合约PPT课件下载推荐.ppt

上传人:b****2 文档编号:15038188 上传时间:2022-10-27 格式:PPT 页数:49 大小:285KB
下载 相关 举报
构件合约PPT课件下载推荐.ppt_第1页
第1页 / 共49页
构件合约PPT课件下载推荐.ppt_第2页
第2页 / 共49页
构件合约PPT课件下载推荐.ppt_第3页
第3页 / 共49页
构件合约PPT课件下载推荐.ppt_第4页
第4页 / 共49页
构件合约PPT课件下载推荐.ppt_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

构件合约PPT课件下载推荐.ppt

《构件合约PPT课件下载推荐.ppt》由会员分享,可在线阅读,更多相关《构件合约PPT课件下载推荐.ppt(49页珍藏版)》请在冰豆网上搜索。

构件合约PPT课件下载推荐.ppt

区别:

u与构件交互的客户通常是其他的软件与构件交互的客户通常是其他的软件u而与一个应用软件交互的客户通常是操作人员而与一个应用软件交互的客户通常是操作人员u因此因此u尽管构件合约出现得比软件需求晚尽管构件合约出现得比软件需求晚,但对构件合约的描述在但对构件合约的描述在系统化、形式化等方面比对应用软件的描述要深入系统化、形式化等方面比对应用软件的描述要深入u构件的合约以构件提供的接口为主要内容构件的合约以构件提供的接口为主要内容,但构件合约不等但构件合约不等价于接口价于接口u一个构件合约可包含一个构件合约可包含多个接口多个接口u构件合约中可包含对完成其功能所依赖的其他资源的说构件合约中可包含对完成其功能所依赖的其他资源的说明,例如其他构件、数据库等明,例如其他构件、数据库等u构件合约中可能包含其他信息构件合约中可能包含其他信息,例如:

构件模型、基本例如:

构件模型、基本类型、可定制属性、访问协议、安全性、可靠性等方面类型、可定制属性、访问协议、安全性、可靠性等方面的申述的申述u构件合约中还可能包含一些与运行硬件相关的内容构件合约中还可能包含一些与运行硬件相关的内容,例例如:

响应时间、客户连接数目等如:

响应时间、客户连接数目等构件合约与构件接口构件合约与构件接口u构件的多个接口构件的多个接口u构件合约中往往包含不止一个接口构件合约中往往包含不止一个接口,分别对应于不同的功能,分别对应于不同的功能,并包含不同的操作并包含不同的操作例如,一个字典构件可以包含翻译接口与拼写检查接口,例如,一个字典构件可以包含翻译接口与拼写检查接口,分别对应于不同的功能分别对应于不同的功能u通过让新版本构件增加新接口,保持了构件接口的稳定性通过让新版本构件增加新接口,保持了构件接口的稳定性u构件功能的描述是构件合约的核心内容构件功能的描述是构件合约的核心内容u规约中对功能的描述仍然以非形式化为主要手段规约中对功能的描述仍然以非形式化为主要手段构件合约与构件接口构件合约与构件接口uCOM规范对多接口有很强的支持规范对多接口有很强的支持u例如,一个例如,一个COM对象一般要实现对象一般要实现IUnkown接口接口以及构件的多个功能接口以及构件的多个功能接口u在在EJB规范中规范中,构件的接口被分为构件的接口被分为u类型接口(类型接口(HomeInterface)与实例接口)与实例接口(ComponentInterface)两类两类u这两类接口的划分与客户向服务器发出的请求这两类接口的划分与客户向服务器发出的请求密切相关密切相关构件合约与构件接口构件合约与构件接口u客户向服务器发出的请求可以被划分为两类客户向服务器发出的请求可以被划分为两类u特定于具体构件实例的请求:

特定于具体构件实例的请求:

u这类请求的内容与构件的业务功能密切相关这类请求的内容与构件的业务功能密切相关,由特定的由特定的构件实例对这些请求进行应答构件实例对这些请求进行应答u不特定于具体构件实例的请求,不特定于具体构件实例的请求,包括包括:

u创建构件实例、删除构件实例、查找构件实例以及可创建构件实例、删除构件实例、查找构件实例以及可能的与特定的构件实例无关的请求等能的与特定的构件实例无关的请求等u这种请求由临时生成的构件实例进行应答这种请求由临时生成的构件实例进行应答u因此因此,一个构件的类型除包含类型接口外一个构件的类型除包含类型接口外,还包含实例接口还包含实例接口关于客户的请求关于客户的请求u提供对于构件生命周期的管理,并提供构件的元信息提供对于构件生命周期的管理,并提供构件的元信息u类型接口为客户定义了构件的创建、删除、查找方法类型接口为客户定义了构件的创建、删除、查找方法u对于实体构件,类型接口还包括一些针对实体构件类型特殊对于实体构件,类型接口还包括一些针对实体构件类型特殊的业务方法的业务方法例如:

统计一个账号构件类型的所有实例金额总数例如:

统计一个账号构件类型的所有实例金额总数u不同构件的类型接口之间存在许多共性不同构件的类型接口之间存在许多共性,因此因此EJBEJB模型定义了模型定义了一个公共的一个公共的EJBHomeEJBHome接口供各个构件的类型接口扩展接口供各个构件的类型接口扩展类型接口类型接口u定义了可以由客户调用的具体业务方法定义了可以由客户调用的具体业务方法,不涉及安全性、可不涉及安全性、可靠性、并发性等问题靠性、并发性等问题u当一个客户调用其中的业务方法的时候当一个客户调用其中的业务方法的时候,容器会将这个方法容器会将这个方法交给对应的一个构件实例来完成交给对应的一个构件实例来完成u与构件的类型接口类似与构件的类型接口类似,不同的构件的实例接口之间存在许不同的构件的实例接口之间存在许多共性多共性u因此因此EJB模型定义了一个公共的模型定义了一个公共的EJBObject接口接口,供各个构供各个构件的实例接口扩展件的实例接口扩展实例接口实例接口u约束关系:

约束关系:

合约和接口之间的约束关系主要是指接口所包含的合约和接口之间的约束关系主要是指接口所包含的操作之间的约束关系。

例如:

次序关系操作之间的约束关系。

次序关系u扩展关系:

扩展关系:

接口之间扩展关系类似于类之间的继承关系接口之间扩展关系类似于类之间的继承关系.一个实一个实现子接口的类除了必须实现该接口中包含的操作外现子接口的类除了必须实现该接口中包含的操作外,还必须实现还必须实现所有该接口的父接口中所包含的操作所有该接口的父接口中所包含的操作u在在COM中,中,所有的接口都必须扩展所有的接口都必须扩展IUnknown接口接口,所有的所有的类厂接口都必须扩展类厂接口都必须扩展IclassFactory接口接口u在在EJB中,中,所有的类型接口都必须扩展所有的类型接口都必须扩展EJBHome接口接口,所有所有的实例接口都必须扩展的实例接口都必须扩展EJBRemote接口接口构件与接口之间的关系构件与接口之间的关系u构件与传统库函数的区别之一在于:

构件与传统库函数的区别之一在于:

u对库函数的调用比较简单,不必考虑库函数为完成调用的对库函数的调用比较简单,不必考虑库函数为完成调用的功能又调用了哪些操作功能又调用了哪些操作u对于构件的调用则要考虑使用一个构件时对于构件的调用则要考虑使用一个构件时,可能需要提供构可能需要提供构件所需要的资源件所需要的资源例如:

其他构件、数据库表、消息服务等例如:

其他构件、数据库表、消息服务等u主要原因是:

开发一个构件时,为了提高构件的灵活性可主要原因是:

开发一个构件时,为了提高构件的灵活性可能将易变的、完成构件功能的一部分代码从构件中剥离了出能将易变的、完成构件功能的一部分代码从构件中剥离了出来来.例如:

访问数据库的构件例如:

访问数据库的构件构件依赖的资源构件依赖的资源u构件的可定制性又被称为构件的可参数化构件的可定制性又被称为构件的可参数化u参数化是提高软件适应性的利器参数化是提高软件适应性的利器u构件所具有的可参数化特性增强了构件的构件所具有的可参数化特性增强了构件的“柔性柔性”u例如:

一个购物车构件可以包含一个一次购买过程例如:

一个购物车构件可以包含一个一次购买过程的最高额参数,通过定制、修改这个参数,可使该构的最高额参数,通过定制、修改这个参数,可使该构件满足特定系统的需求件满足特定系统的需求构件的可定制属性构件的可定制属性EJB构件的合约构件的合约u类型接口类型接口u公共类型接口公共类型接口u特定于构件的类型接口特定于构件的类型接口u实例接口实例接口u公共实例接口公共实例接口u特定于构件的实例接口特定于构件的实例接口u构件描述构件描述RemoteHandleEJBHomeEJBObjectEJBMetaDataAccountHomeAccountAccountEJB扩展接口扩展接口实现接口实现接口HomeHandle关联接口关联接口EJB接口接口u不同不同EJBEJB构件的类型接口构件的类型接口,存在很多的共性成分存在很多的共性成分,称称为构件的公共类型接口为构件的公共类型接口u又各有其特殊成分又各有其特殊成分,称为特定于构件的类型接口称为特定于构件的类型接口uEJBEJB构件的公共类型接口:

构件的公共类型接口:

uEJBHome,EJBHome,这个接口又涉及另外两个接口:

这个接口又涉及另外两个接口:

uEJBMetaDataEJBMetaData与与HomeHandleHomeHandleEJB构件的类型接口构件的类型接口u所有所有EJB构件的类型接口都必须扩展构件的类型接口都必须扩展javax.ejb.EJBHome接口接口ujavax.ejb.EJBHome扩展扩展Java.rmi.Remote接口接口而而Java.rmi.Remote是一个空接口是一个空接口,仅用于表示接口仅用于表示接口的类型,并限制接口中的每一个方法都必须抛出的类型,并限制接口中的每一个方法都必须抛出RemoteException异常,用于表示通信环节发生的异常,用于表示通信环节发生的错误,例如网络失败、无法定位对象等错误,例如网络失败、无法定位对象等EJBHomepublicinterfaceEJBHomeextendsRemotepublicabstractEJBMetaDatagetEJBMetaData();

publicabstractHomeHandlegetHomeHandle();

publicabstractvoidremove(Objectobj);

publicabstractvoidremove(Handlehandle);

ugetEJBMetaData:

该方法用于获取构件的元信息该方法用于获取构件的元信息,例如:

构件的类型接口例如:

构件的类型接口;

构件的实例接口构件的实例接口;

实体构件的实体构件的主键类等等主键类等等ugetHomeHandle:

该方法用于获取构件的该方法用于获取构件的homeHandle,允许对构件的,允许对构件的home引用进行存储引用进行存储uremove:

remove:

该方法用于删除构件实例该方法用于删除构件实例,其参数是构件的其参数是构件的handlehandle或者实体构件的主键,或者实体构件的主键,removeremove方法对不同类型方法对不同类型的构件的影响不同的构件的影响不同u对于会话构件对于会话构件:

remove方法将结束客户的会话过程方法将结束客户的会话过程,以后再对该构件发出的操作将不发生作用以后再对该构件发出的操作将不发生作用,对于有态对于有态构件:

所有的交互状态将丢失构件:

所有的交互状态将丢失u对于实体构件:

对于实体构件:

removeremove方法同样使得构件的引用不方法同样使得构件的引用不再发生作用再发生作用,同时将与构件实例相对应的数据项从数同时将与构件实例相对应的数据项从数据库中删除据库中删除uEJBMetadata:

客户使用该接口对构件进行动态调客户使用该接口对构件进行动态调用,用,EJBMetadata提供了一种反射机制提供了一种反射机制,一般的客户一般的客户程序不会使用到它程序不会使用到它publicinterfaceEJBMetaDatapublicabstractEJBHomegetEJBHome();

publicabstractClassgetHomeInterfaceClass();

publicabstractClassgetPrimaryKeyClass();

publicabstractClassgetRemoteInterfaceClass();

publicabstrac

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 卡通动漫

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1