为现有方法添加附加功能

时间:2016-12-02 17:23:13

标签: java servlets aop decorator

我在Servlets和JSP中有一个Web应用程序。现在我需要为其中的一些服务方法添加一些额外的功能。需要这些更改的服务方法来自不同的servlet。

其他功能如下。

  1. 在核心功能之前验证状态。
  2. 成功完成该过程后通知各个用户。
  3. 如何以最小的开销将这些功能注入现有代码? 我认为春天的AOP可以在这里提供帮助,但我不能在现有的应用程序中使用Spring来实现此功能。

    还尝试使用装饰器模式,但我不能因为每个服务类包含多个方法,也没有它们的通用接口。

    有人可以让我知道如何以更好的方式处理这一变化。

1 个答案:

答案 0 :(得分:0)

  

也尝试使用装饰模式,但我不能作为每个服务   class包含多个方法,也没有通用接口   它们。

正如您所说没有通用接口可以使用适配器模式,这在您遇到服务接口问题时最适合。基本上,适配器有助于与两个没有通用接口的服务进行交互。您可以通过调用现有服务来创建处理其他功能(即,验证状态和通知各个用户等)的适配器(层)。

以下是适配器模式的维基百科定义:

  

适配器模式是一种软件设计模式(也称为   Wrapper,与Decorator模式共享的替代命名)   允许将现有类的接口用作另一个类   接口。它通常用于使现有的类与其他类一起工作   没有修改他们的源代码。