24、组件管理与域模型设计:技术解析与实践指南

组件管理与域模型设计:技术解析与实践指南

1. 容器耦合与关注点分离

在实际应用中,组件与容器的耦合通常并非障碍。我们往往会预先从架构层面选择容器类型,例如决定部署到 J2EE Servlet 容器,就会编写继承 javax.servlet.http.HttpServlet 类的 Servlet 类,或者实现 javax.ejb.EJBObject 的 EJB。这并非局限于特定供应商的容器,而是遵循通用的容器模型。

将配置细节从组件中分离是有益的,这遵循了“关注点分离”原则,即不同问题(如实现、部署和配置)应分开处理,体现了松耦合的思想。同一组件可在不同容器中以不同方式部署,甚至在同一容器中多次部署,而无需修改组件代码。

2. 利用容器定义作用域

我们并非只能将组件部署到单个容器,可通过嵌套容器来限制组件的作用域。除最外层容器外,每个容器都持有对其父容器的引用。当容器识别到依赖项时,会先检查该依赖项是否对应已注册的组件,若未找到则将请求传递给父容器,直至请求得到满足或遍历完所有容器。

在 J2EE 中,这类似于 HTTP 请求的 Request、Session 和 Application 作用域。我们可以将三个容器串联:最内层代表 Request 作用域,中间层代表 Session 作用域,最外层代表 Application 作用域。若组件处于 Request 作用域,请求它的组件可立即获取;若未找到,容器会转向 Session 作用域的父容器,最后是 Application 作用域的容器。

g
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值