4 J2EE 模式

Wu Jun 2019-12-25 22:25:30
08 系统设计 > 3 设计模式

1. MVC

image

2. Business Delegate(业务代表)

业务代表模式用于对表示层和业务层解耦。它基本上是用来减少通信或对表示层代码中的业务层代码的远程查询功能。在业务层中我们有以下实体。

image

3. Composite Entity(组合实体)

组合实体模式用在 EJB 持久化机制中。

一个组合实体是一个 EJB 实体 bean,代表了对象的图解。当更新一个组合实体时,内部依赖对象 beans 会自动更新,因为它们是由 EJB 实体 bean 管理的。

以下是组合实体 bean 的参与者。

image

4. Data Access Object(数据访问对象)

DAO 模式用于把低级的数据访问 API 或操作从高级的业务服务中分离出来。

以下是数据访问对象模式的参与者。

image

5. Front Controller(前端控制器)

前端控制器模式是用来提供一个集中的请求处理机制,所有的请求都将由一个单一的处理程序处理。该处理程序可以做认证/授权/记录日志,或者跟踪请求,然后把请求传给相应的处理程序。

以下是这种设计模式的实体。

image

6. Intercepting Filter(拦截过滤器)

拦截过滤器模式用于对应用程序的请求或响应做一些预处理/后处理。定义过滤器,并在把请求传给实际目标应用程序之前应用在请求上。过滤器可以做认证/授权/记录日志,或者跟踪请求,然后把请求传给相应的处理程序。

以下是这种设计模式的实体。

image

7. Service Locator(服务定位器)

服务定位器模式用在我们想使用 JNDI 查询定位各种服务的时候。考虑到为某个服务查找 JNDI 的代价很高,服务定位器模式充分利用了缓存技术。在首次请求某个服务时,服务定位器在 JNDI 中查找服务,并缓存该服务对象。当再次请求相同的服务时,服务定位器会在它的缓存中查找,这样可以在很大程度上提高应用程序的性能。

以下是这种设计模式的实体。

image

8. Transfer Object(传输对象)

传输对象模式用于从客户端向服务器一次性传递带有多个属性的数据。

传输对象也被称为数值对象。传输对象是一个具有 getter/setter 方法的简单的 POJO 类,它是可序列化的,所以它可以通过网络传输。它没有任何的行为。

服务器端的业务类通常从数据库读取数据,然后填充 POJO,并把它发送到客户端或按值传递它。对于客户端,传输对象是只读的。客户端可以创建自己的传输对象,并把它传递给服务器,以便一次性更新数据库中的数值。

以下是这种设计模式的实体。

image