外观模式(Facade Pattern),将一个操作要完成的子步骤整合到一个方法里,调用者无需担心调用顺序,以及具体的子步骤。
package com.pocketdigi.patterns.facade;
/**
* 信件处理接口
*/
public interface LetterProcess {
public void writeContext(String context);
public void fillEnvelope(String address);
public void letterIntoEnvelope();
public void sendLetter();
}
实现
package com.pocketdigi.patterns.facade;
public class LetterProcessImp implements LetterProcess {
@Override
public void writeContext(String context) {
// TODO Auto-generated method stub
System.out.println("写内容"+context);
}
@Override
public void fillEnvelope(String address) {
// TODO Auto-generated method stub
System.out.println("写信封"+address);
}
@Override
public void letterIntoEnvelope() {
// TODO Auto-generated method stub
System.out.println("装信封");
}
@Override
public void sendLetter() {
// TODO Auto-generated method stub
System.out.println("送信");
}
}
package com.pocketdigi.patterns.facade;
public class PostOffice {
LetterProcess letterProcess=new LetterProcessImp();
/**
* 将几个步骤并在一起,调用者不需要具体的实现过程
* @param context
* @param address
*/
public void sendLetter(String context,String address)
{
letterProcess.writeContext(context);
letterProcess.fillEnvelope(address);
letterProcess.letterIntoEnvelope();
letterProcess.sendLetter();
}
}
调用
PostOffice po=new PostOffice();
po.sendLetter("内容", "地址");