facade java_Java与模式之门面(Facade)模式

门面模式是对象的结构模式[GOF95]。外部与一个子系统的通信必须通过一个统一的门面(Facade)对象进行,这就是门面模式。

//门面(Facade)角色

public class Facade {

}

//子系统(Subsystem)角色

public class Subsystem {

}

Session门面模式

/* Generated by Together */

package com.javapatterns.facade.sessionfacade;

import javax.ejb.EJBObject;

import java.rmi.RemoteException;

import javax.ejb.EJBException;

public interface SessionFacade extends EJBObject {

void BusinessMethod2() throws RemoteException, EJBException ;

void BusinessMethod1() throws RemoteException, EJBException;

/** @link dependency */

/*#SessionFacadeBean lnkSession1Bean;*/

}

/* Generated by Together */

package com.javapatterns.facade.sessionfacade;

import javax.ejb.SessionBean;

import javax.ejb.SessionContext;

import java.rmi.RemoteException;

import javax.ejb.EJBException;

import javax.ejb.CreateException;

/**

* @ejbHome

* @ejbRemote

* @ejbStateful*/

public class SessionFacadeBean implements SessionBean {

private SessionContext ctx;

/**

* @directed

* @link aggregation

*/

private Business1Bean lnkBusiness1Bean;

/**

* @directed

* @link aggregation

*/

private Business2Bean lnkBusiness2Bean;

public void setSessionContext(SessionContext context) throws RemoteException, EJBException {

ctx = context;

}

public void ejbActivate() throws RemoteException, EJBException {

}

public void ejbPassivate() throws RemoteException, EJBException {

}

public void ejbRemove() throws RemoteException, EJBException {

}

public void ejbCreate() throws CreateException, EJBException, RemoteException {

// Write your code here

}

public void BusinessMethod1() throws RemoteException, EJBException  {

}

public void BusinessMethod2() {

}

}

/* Generated by Together */

package com.javapatterns.facade.sessionfacade;

import javax.ejb.EJBHome;

import javax.ejb.CreateException;

import javax.ejb.EJBException;

import java.rmi.RemoteException;

public interface SessionFacadeHome extends EJBHome {

SessionFacade create() throws CreateException, EJBException, RemoteException;

/** @link dependency */

/*#SessionFacadeBean lnkSession1Bean;*/

}

/* Generated by Together */

package com.javapatterns.facade.sessionfacade;

import javax.ejb.SessionBean;

import javax.ejb.SessionContext;

import java.rmi.RemoteException;

import javax.ejb.EJBException;

import javax.ejb.CreateException;

/**

* @ejbHome

* @ejbRemote

* @ejbStateful

*/

public class Business1Bean implements SessionBean {

private SessionContext ctx;

public void setSessionContext(SessionContext context) throws RemoteException, EJBException {

ctx = context;

}

public void ejbActivate() throws RemoteException, EJBException {

}

public void ejbPassivate() throws RemoteException, EJBException {

}

public void ejbRemove() throws RemoteException, EJBException {

}

public void ejbCreate() throws CreateException, EJBException, RemoteException {

// Write your code here

}

public void BusinessMethod1() {

}

public void BusinessMethod2() {

}

}

/* Generated by Together */

package com.javapatterns.facade.sessionfacade;

import javax.ejb.EJBObject;

import java.rmi.RemoteException;

import javax.ejb.EJBException;

public interface Business2 extends EJBObject {

void BusinessMethod1() throws RemoteException, EJBException ;

void BusinessMethod2()throws RemoteException, EJBException;

void BusinessMethod3() throws RemoteException, EJBException ;

/** @link dependency */

/*#Business1Bean lnkSession1Bean;*/

}

/* Generated by Together */

package com.javapatterns.facade.sessionfacade;

import javax.ejb.SessionBean;

import javax.ejb.SessionContext;

import java.rmi.RemoteException;

import javax.ejb.EJBException;

import javax.ejb.CreateException;

/**

* @ejbHome

* @ejbRemote

* @ejbStateful

*/

public class Business2Bean implements SessionBean {

private SessionContext ctx;

public void setSessionContext(SessionContext context) throws RemoteException, EJBException {

ctx = context;

}

public void ejbActivate() throws RemoteException, EJBException {

}

public void ejbPassivate() throws RemoteException, EJBException {

}

public void ejbRemove() throws RemoteException, EJBException {

}

public void ejbCreate() throws CreateException, EJBException, RemoteException {

// Write your code here

}

public void BusinessMethod1() {

}

public void BusinessMethod2() {

}

}

/* Generated by Together */

package com.javapatterns.facade.sessionfacade;

import javax.ejb.EJBHome;

import javax.ejb.CreateException;

import javax.ejb.EJBException;

import java.rmi.RemoteException;

public interface Business2Home extends EJBHome {

Business2 create() throws CreateException, EJBException, RemoteException;

/** @link dependency */

/*#Business1Bean lnkSession1Bean;*/

}

/* Generated by Together */

package com.javapatterns.facade.sessionfacade;

public class Client {

/**

* @label Uses

* @directed

*/

private SessionFacadeBean lnkSessionFacadeBean;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值