package designpattern.facade; public class HandleTrouble { public void call110(String trouble) { System.out.println(trouble); // 模拟接警员处理来电 if (trouble.indexOf("抢劫") > 0 || trouble.indexOf("杀人") > 0) { CriminalPolice criminalPolice = new CriminalPolice(); criminalPolice.handleIt(); } else if (trouble.indexOf("追尾") > 0 || trouble.indexOf("撞车") > 0) { TrafficPolice trafficPolice = new TrafficPolice(); trafficPolice.handleIt(); } else if (trouble.indexOf("起火") > 0 || trouble.indexOf("烧起来") > 0) { System.out.println("转接火警..."); FirePolice firePolice = new FirePolice(); firePolice.handleIt(); } else { PeoplePolice peoplePolice = new PeoplePolice(); peoplePolice.handleIt(); } } }
package designpattern.facade; public class CriminalPolice { public void handleIt() { System.out.println("刑警出动..."); } }
package designpattern.facade; public class TrafficPolice { public void handleIt() { System.out.println("交警出动..."); } }
package designpattern.facade; public class FirePolice { public void handleIt() { System.out.println("火警出动..."); } }
package designpattern.facade; public class PeoplePolice { public void handleIt() { System.out.println("民警出动..."); } }
package designpattern.facade; public class Client { public static void main(String[] args) { HandleTrouble handleTrouble = new HandleTrouble(); handleTrouble.call110("救命啊,杀人啦,快来人啊~~~~~"); System.out.println("-------------------"); handleTrouble.call110("XX大楼起火了"); System.out.println("-------------------"); handleTrouble.call110("有人打架了,快来人"); System.out.println("-------------------"); } }
输出结果:
救命啊,杀人啦,快来人啊~~~~~ 刑警出动... ------------------- XX大楼起火了 转接火警... 火警出动... ------------------- 有人打架了,快来人 民警出动... -------------------
原文:https://www.cnblogs.com/imoqian/p/10699065.html