Struts和Delegate模式

时间:2012-04-19 13:43:12

标签: java design-patterns java-ee struts

如何使用带有struts框架的委托模式将Struts Action类与执行业务逻辑的Java类分开?

1 个答案:

答案 0 :(得分:0)

好的,假设你有一个界面可以产生一些商业逻辑,(例如问候用户):

<强> IBussinessLogic

public interface IBussinessLogic{
    public void greetUser(String username);
}

您使用实现该接口的类:

<强> BussinessLogic

public class BussinessLogic implements IBussinessLogic{
      public void greetUser(String username) {
            System.out.println("Hello " + username + ".");
      }
}

然后,在您的操作类中,您可以委派,不抱歉,必须委托您的业务逻辑类:

...
IBussinessLogic bl = new BussinessLogic();
bl.greetUser(myForm.getUsername());
...

请记住,一个动作有一些责任:控制流程,向前返回......但它们都不必是实现应用程序的业务逻辑。使用界面允许您在将来使用IBussinessLogic的不同实现重新连接应用程序,甚至使用依赖注入或其他技术。

这是委托模式的一个非常简单的例子。您的操作(委托人)信任委托(BussinessLogic)来完成任务。