java外观模式
Uml图:

//子系统://CheckWord.javapublic class CheckWord { public final int basicAmout =85; String advertisement; int amout; public CheckWord(String advertisement) { this.advertisement=advertisement; } public void setChargeAmout() { amout =advertisement.length()+basicAmout;//计算出计费字符数目 } public int getAmout(){ return amout; }}//Charge.javapublic class Charge { public final int basicCharge =12; CheckWord checkWord; public Charge(CheckWord checkWord) { this.checkWord=checkWord; } public void giveCharge() { int charge=checkWord.getAmout()*basicCharge; System.out.println("费用为"+charge+"元"); }}//TypeSeting.javapublic class TypeSeting { String advertisement; public TypeSeting(String advertisement) { this.advertisement=advertisement; } public void typeSetting() { System.out.println("排版"); System.out.println("**********"); System.out.println(advertisement); System.out.println("**********"); }}//外观:public class ClientServerFacade { private CheckWord checkWord; private Charge charge; private TypeSeting typeSeting; String advertisement; public ClientServerFacade(String advertisement) { this.advertisement =advertisement; checkWord=new CheckWord(advertisement); charge =new Charge(checkWord); typeSeting=new TypeSeting(advertisement); } public void Advertisement() { checkWord.setChargeAmout(); charge.giveCharge(); typeSeting.typeSetting(); }}//模式使用:public class Application { public static void main(String[] args) { ClientServerFacade clientServerFacade; String clentAdvertisementString = "sony 笔记本,售价5000"; clientServerFacade = new ClientServerFacade(clentAdvertisementString); clientServerFacade.Advertisement(); }}?