容器的作用

来源:互联网 发布:库里职业生涯数据统计 编辑:程序博客网 时间:2024/06/11 02:39

什么是轻量级容器?为什么我们需要轻量级容器?

什么是轻量级容器

       所谓容器(container),指应用代码的运行框架。业务对象在容器里运行,被容器管理。像EJB就是过去管理J2EE业务对象时最常用的容器。

       任何容器都应该包含如下服务:

  • 生命周期管理:最起码,容器应该负责创造构件。
  • 查找服务:容器必须有一种途径来获得受控构件的引用,以使构件可以互操作。
  • 配置管理:容器应该尽可能的讲简单的易变换的配置值从代码中提取出来,为构件提供统一的方法来配置。
  • 依赖解析:管理各个构件之间的管理。

      上面讲的是容器核心模块应该提供的服务,但是容器还必须提供其它一些服务,增加实用性。

  • 企业级服务:为构件提供事务管理。
  • 线程管理:对于构件的操作,容器需要给出一个线程模型。
  • 对象池:提供一个实例池来管理对象。
  • 集群服务:容器的提供集群服务在需要支持有状态的构件是必须的,但是如果是无状态,容器提供集群服务就不是很重要了,因为容器无需为集群维护状态。
  • 管理:如JMX。
  • 远程服务:提供远程服务和访问远程对象。
  • 扩展性:可以为某一类构件提供定制的服务。

      一个轻量级容器应该遇有下列特性:

  • 非侵入性:可以管理业务代码,但是不应该给代码强加入对容器的依赖。
  • 可以快速启动。
  • 部署简单。
  • 轻量级容器是用纯JAVA开发的,不依赖J2EE。

需要容器的理由

以前也讲过EJB作为容器很多不令人满意的地方,那我们需要容器的理由呢?

  • 可接插性:容器将调用方法与具体的实现策略分开。虽然Java接口提供了很好的接口和实现分离,但是必须用一种方法去帮我们找到一个接口的实现,用容器调用显然比在代码中硬编码要好。
  • 服务定位:容器像是个服务的盒子,如果没有容器了,配置管理这些服务是十分困难的。
  • 为开发和部署量身订做服务。

轻量级容器的优势

由于代码对容器的依赖很少,很显然带来了如下好处:

  • 提高代码的复用度;在开发过程中没有假定必须在某个平台下运行。
  • 提高可测试性:在容器之外就可以完成测试。

容器对构件的编写限制很少:

  • 更好的面向对象:容器对构件的编写限制很少,这样可以更好的实践面向对象了。
转自:http://www.iteye.com/topic/188719

0 0
原创粉丝点击