- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
虽然现在有很多针对容器的单元测试框架,但是还是没有很好的解决Deploy的等待问题,所以在开发者这里,EJB逐渐失去了很多的吸引力,因为感觉实在是太笨重了。 主要内容 框架 构件 对象总线 基于构件的软件开发 构件模型 构件模型 构件模型 构件模型是为开发者定义软件构件而建立的体系结构和API集,使开发者可通过软件构件的动态组合来建立应用系统。 定义构件的基本的体系结构,制定它的接口的结构,及它与它的容器及另外的组件交互的机制。 现在常用的框架一词,如Spring框架中的框架,可以理解为是一种构件模型 主流构件模型 CORBA、EJB、COM( DCOM / COM+ )、Spring 构件模型 构件模型 = 构件 + 容器 ?构件 -- 具有可重用特性的基本软件部件 容器 -- 用于存放和安排构件,实现构件间的交互。 (容器也可以作为另一个容器的构件使用) 构件与容器之间的接口,由构件模型进行定义。 容器 容器就是一组提供一系列可访问的管理服务,只要组件符合容器要求(规范),容器就可以让组件使用相应的管理服务 容器提供的管理服务例: 生命周期管理 查询定位 安全服务 事务服务 不同协议层的通信支持:远程通信、数据库访问 一般,构件需要实现容器要求的API才能在容器中运行 重量级框架 重量级框架 典型代表EJB 1/2 开发的系统基本需要放置在一个容器系统中进行运行,并需要实现容器要求的接口 容器在实例化化业务对象后,传给业务对象上下文,而业务对象本身要通过JNDI手段来定位或者pull出其他资源或者业务对象 这些容器因为基本针对大型企业应用,所以体积庞大,占用资源,内在服务多,启动比较慢 开发需要遵从的规则比较多,开发效率也比较低,很大一部分时间都用在了Deploy、Run这样的过程上,调试和测试比较困难 重量级框架在大规模运行的时候会表现出非常优异的性能,劣势主要是开发效率较低 轻量级框架 典型代表:Spring 以依赖注入(Dependency Injection)为代表的解耦合模式,可以让组件不去依赖容器(运行环境)的API 轻量级容器通过反向控制(Inversion of Control)让容器具有主动权,去管理插进来的组件,只要组件是符合标准的,就可以被轻量级容器管理 组件以POJO(Plain Old Java Object)的形式存在,只要你有Java.exe就可以运行它,不需要容器就可以实现测试行为 基于轻量级框架进行系统开发的时候非常迅速,但是在大规模运行的时候,性能可能会比重量级框架差一些。 小结 构件结构:构件、对象总线和框架共同组成了软件应用程序 软件框架以软件构件结构为组装蓝图,以可复用软件构件为组装预制块,支持组装式软件复用。 描述的是系统整体设计格局,表现不同系统的高层共性。 为构件提供结构,使软件工程从工程化编程及类库再前进了一步 构件是可重用的现成软件部件 构件和框架通过对象总线与别的构件和框架连接。 通过对象总线,使跨越不同异构环境上的应用程序开发成为可能。 小结(2) 构件模型:定义构件的基本的体系结构,制定它的接口的结构,及它与它的容器及另外的组件交互的机制。 构件、容器 主流构件模型:CORBA、EJB、COM( DCOM / COM+ )、Spring 重量级VS轻量级框架 应用模型:根据构件、框架、和对象总线来配制应用程序。 总成(ensemble):解决方案中随问题不同而变化的部分 水平功能: 适用于各种应用领域 垂直功能: 适用于特定应用领域 A component is a non-trivial, nearly independent, and replaceable part of a system that fulfills a clear function in the context of a well-defined architecture. A component conforms to and provides the physical realization of a set of interfaces [Kruchten 98]. An interface is a collection of operations that are used to specify services of a component. An interface [Kruchten, 98]: names a collection of operations and specifies their signatures and protocols, focuses upon the behaviour, not th
文档评论(0)