2007-09-25

Container - Component

关键字: container component
Container-Component的开发模式已存在于业界多年了,今天在看Spring的IOC容器时,再一次想起了这个模式。Container负责部署、管理component,而component只需关注其任务逻辑。EJB container, servlet container, spring IOC container等等,都是这种模式的例子。
   这种模式的好处在:
   1. 简化开发:它将一些更普遍使用到的功能放到Container实现,使得Component只需关注本身的业务逻辑,无需关注过多的细节。如事务管理,安全性等。如在servlet container中,container负责servlet的初始化工作、管理servlet的生命周期等。在EJB container中的声明式事务、安全等。
   2. 提高了复用性:这种模式把可重用性提高到了组件层次上,OO的可重用性层次在类的基础上,但Container-Component的可重用性层次提高到了组件的概念上(当然SOA的可重用性是在服务上)。
   3. 可维护性得到提高,Container和component有各自的责任,有效地降低了耦合。
   4. ....
 
通常在这种模式上,还会产生一套Framework,更大限度地简化开发,整合各种其它服务。
这个Framework是建立在其核心的Container-component上,制定出开发的流程及规则,开发人员只需按照它的开发规则及流程,就可快速地开发出所需的系统来。如Struct、Hibernate、spring等等的Framwork.
 
上面所提到的几种Framework,都是针对某一模块较为通用的framework。但每个应用系统都有其自身的特点,且需要使用到几个不同的framework。有必要在开发的时候建立起属于本系统的一个framework,简化后期的开发、维护。利用自身的framework去迎合系统本身的特点,去整合各个不同的特定模块的framework。
 
觉得SOA是在Container-Component基础上的一个发展,它将重心放在服务上。
SOA没有改变开发方法,只是改变了看待系统的方式。
评论
发表评论

您还没有登录,请登录后发表评论

abu
搜索本博客
最新评论