浏览 763 次
|
锁定老贴子 主题:服务控制管理器:spring
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2007-05-25
如果你用javax包里的类, 你都是自觉不自觉的面向接口编程,在一个复杂系统里面,如果很多类都以接口形式暴露,这样实现者和调用者解耦合,无疑是一种比较好的架构。 但是要这么做,恐怕得需要一个注册器,把所有实现都注册到里面。因为javax里面的类有能力在运行期找到一个具体实现,我们自己写的类可不行。必须从注册器get到一个对象,并将其cast 成为需要的接口
EJB颁布了几年后,依赖注入,反转控制成了热门词汇。Spring成为了一个神秘的框架。Spring简单,对代码几乎没有侵入,也称为轻量级框架。不少人在极力推崇Rod的书, 从某种程度上来看,Spring完成了那个企业对象注册器的工作,从Spring自我介绍的第一条就能看出,当然现在Spring的贡献不止这些了。 * It addresses important areas that many other popular frameworks don't. Spring focuses around providing a way to manage your business objects. * Spring is both comprehensive and modular. Spring has a layered architecture, meaning that you can choose to use just about any part of it in isolation, yet its architecture is internally consistent. So you get maximum value from your learning curve. You might choose to use Spring only to simplify use of JDBC, for example, or you might choose to use Spring to manage all your business objects. And it's easy to introduce Spring incrementally into existing projects. * Spring is designed from the ground up to help you write code that's easy to test. Spring is an ideal framework for test driven projects. * Spring is an increasingly important integration technology, its role recognized by several large vendors. 而在微软阵营, 这个注册器早已存在了,就是SCM和注册表,还有COM。 对Spring熟悉之后,再去看Essential COM, 肯定很有感觉的。 早在我们用VC VB写程序,使用任何Windows组件时,通常在编译期,只有接口在和我们打交道,我们不知道也不关心其实现是什么。运行时,windows 会替我们加载这个实现。当Java将一切推倒,并且面临着一些更为复杂的企业情况而奋力前进时,突然回头看看才发现其实走的并不远。 下面是Essential COM里面讲述COM的一张图。 现在话又说回来了, 这张COM体系结构图和现在的J2EE架构真的很像, 当然,这里面好像没有组件依赖情况的处理,组件依赖会产生很多情况,以后可以考虑一下组件依赖意味着什么又带来了哪些问题。 但这张图也反映出了一个重要问题,就是企业容器或者中间件要做哪些工作。 SCM是服务控制管理器,需要服务提供者提供的, 而组件库和应用是其他应用开发者和组件编写者提供的, 一个体系架构不能把体系上的东西强加给应用和组件。 这也是Spring与EJB的区别,也是EJB不成功的原因。 在COM时代,SCM一旦把服务派发给应用后,根据服务组件的物理位置,存在进程内调用,进程间调用,远程调用。 进程间和远程有个ORPC方式。到了Java世界,或许所有调用都要通过控制管理器来操作,通常服务管理器要能够控制、管理、调用服务组件,而客户通常只持有满足服务的一个代理实例,不会直接和服务组件交互了。 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2007-05-25
楼主想表达什么?
|
|
| 返回顶楼 | |



