设计模式之十一:代理模式

代理可以控制和管理访问。

设计模式之十一:代理模式_第1张图片

设计模式之十一:代理模式_第2张图片

RMI提供了客户辅助对象和服务辅助对象,为客户辅助对象创建和服务对象相同的方法。RMI的好处在于你不必亲自写任何网络或I/O代码。客户程序调用远程方法就和运行在客户自己本地JVM对对象进行正常方法调用一样。

步骤一:制作远程接口

// 1 扩展java.rmi.Remote接口
// 2 声明所有方法都会抛出RemoteException
// 3 确定变量和返回值属于原语或者可序列化类型 (自己定义的类一定要实现Serializable)


import java.rmi.*

public interface MyRemote extends Remote{
    public String sayHello() throws RemoteException;
}

步骤一:制作远程实现

// 1 客户必须实现远程接口
// 2 扩展UnicastRemoteObject对象,让超类帮你实现某些“远程”功能
// 3 声明一个不带变量的构造器,并抛出RemoteException
// 4 用RMI Registry注册此服务
//

public class MyRemoteImpl extends UnicastRemoteObject implements MyRemote{
    
    public MyRemoteImpl() throws RemoteException{}

    public String sayHello(){
        return "Server says: hey";
    }
}

try{
    MyRemote service = new MyRemoteImpl();
    Naming.rebind("RemoteHello", service);
}catch(Exception ex){ ... }

----------------------------

你可能感兴趣的:(设计模式,设计模式,代理模式)