美文网首页
Java业务代表模式

Java业务代表模式

作者: 龍飝 | 来源:发表于2019-06-13 15:31 被阅读0次
业务代表模式(Business Delegate Pattern)用于对表示层和业务层解耦。它基本上是用来减少通信或对表示层代码中的业务层代码的远程查询功能。在业务层中我们有以下实体。

    客户端(Client) - 表示层代码可以是 JSP、servlet 或 UI java 代码。
    业务代表(Business Delegate) - 一个为客户端实体提供的入口类,它提供了对业务服务方法的访问。
    查询服务(LookUp Service) - 查找服务对象负责获取相关的业务实现,并提供业务对象对业务代表对象的访问。
    业务服务(Business Service) - 业务服务接口。实现了该业务服务的实体类,提供了实际的业务实现逻辑。

BusinessService.java

public interface BusinessService { //创建BusinessService接口
    
    public void doProcessing();
    
}

EJBService.java

public class EJBService implements BusinessService { //创建实体服务类
    
    @Override
    public void doProcessing() {
        System.out.println("Processing task by invoking EJB Service");
    }
    
}

JMSService.java

public class JMSService implements BusinessService {
    
    @Override
    public void doProcessing() {
        System.out.println("Processing task by invoking JMS Service");
    }
    
}

BusinessLookUp.java

public class BusinessLookUp { //创建业务查询服务
    
    public BusinessService getBusinessService(String serviceType) {
        if (serviceType.equalsIgnoreCase("EJB")) {
            return new EJBService();
        } else {
            return new JMSService();
        }
    }
    
}

BussinessDelegate.java

public class BussinessDelegate { //创建业务代表
    
    private BusinessLookUp lookUpService = new BusinessLookUp();
    private BusinessService businessService;
    private String serviceType;
    
    public void setServiceType(String serviceType) {
        this.serviceType = serviceType;
    }
    
    public void doTask() {
        businessService = lookUpService.getBusinessService(serviceType);
        businessService.doProcessing();
    }
    
}

Client.java

public class Client { //创建客户端
    
    BussinessDelegate bussinessDelegate;
    
    public Client(BussinessDelegate bussinessDelegate) {
        this.bussinessDelegate = bussinessDelegate;
    }
    
    public void doTask() {
        bussinessDelegate.doTask();
    }
    
}

BusinessDelegatePatternDemo.java

public class BusinessDelegatePatternDemo { //使用BusinessDelegate和Client类来演示业务代表模式
    
    public static void main(String[] args) {
        
        BussinessDelegate bussinessDelegate = new BussinessDelegate();
        bussinessDelegate.setServiceType("EJB");
        
        Client client = new Client(bussinessDelegate);
        client.doTask();
        
        bussinessDelegate.setServiceType("JMS");
        client.doTask();
        
    }
    
}

相关文章

  • Java业务代表模式

  • 业务代表模式

    参考文章 http://www.runoob.com/design-pattern/business-delega...

  • 业务代表模式

    前言: 因为现在设计模式在网络上已经泛滥,但是还是有好多程序员不能够灵活的运用设计模式,这个是对设计模式简单的介绍...

  • 设计模式之业务代表模式

    简介 业务代表模式(Business Delegate Pattern)用于对表示层和业务层解耦。它基本上是用来减...

  • 设计模式|菜鸟教程 - C5 J2EE 模式

    --书写中--- 0 Intro MVC 模式(MVC Pattern)业务代表模式(Business Deleg...

  • 第二式 业务代表模式

    1.简介 业务代表模式用于对表示层和业务层解耦。它基本上是用来减少通信或对表示层代码中的业务层代码的远程查询功能。...

  • java23种设计模式—— 一、设计模式介绍

    Java23种设计模式全解析 一、设计模式简介 设计模式(Design pattern)代表了最佳的实践,通常被有...

  • 架构衍生工具——业务模式画布

    业务模式画布 一、概述 业务模式画布(亦称为业务模式九要素)是一种用来描述业务模式、可视化业务模式、评估业务模式以...

  • java建造者模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java单例模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

网友评论

      本文标题:Java业务代表模式

      本文链接:https://www.haomeiwen.com/subject/qdesfctx.html