外观模式
外观模式:其实就是对调用复杂的业务进行再一次封装,给客户一个简单接口API。
代码如下:
?
package com.mkf.pattern;public interface InterfaceOne {public void operationOne();}package com.mkf.pattern.impl;import com.mkf.pattern.InterfaceOne;public class ClassOne implements InterfaceOne {@Overridepublic void operationOne() {System.out.println("复杂业务逻辑ONE " + ClassOne.class.getName());}}package com.mkf.pattern;public interface InterfaceTwo {public void operationTwo();}package com.mkf.pattern.impl;import com.mkf.pattern.InterfaceTwo;public class ClassTwo implements InterfaceTwo {@Overridepublic void operationTwo() {System.out.println("复杂业务逻辑TWO " + ClassTwo.class.getName());}}package com.mkf.pattern;public interface InterfaceOther {public void operation();}package com.mkf.pattern.impl;import com.mkf.pattern.InterfaceOne;import com.mkf.pattern.InterfaceOther;import com.mkf.pattern.InterfaceTwo;public class ClassOther implements InterfaceOther {private InterfaceOne io;private InterfaceTwo it;public ClassOther() {this.io = new ClassOne();this.it = new ClassTwo();}@Overridepublic void operation() {System.out.println("调用外观(封装)");io.operationOne();it.operationTwo();}}package com.mkf;import com.mkf.pattern.InterfaceOther;import com.mkf.pattern.impl.ClassOther;public class TestFacade {/** * @param args */public static void main(String[] args) {InterfaceOther other = new ClassOther();other.operation();}}?
执行结果:
调用外观(封装)
复杂业务逻辑ONE? com.mkf.pattern.impl.ClassOne
复杂业务逻辑TWO? com.mkf.pattern.impl.ClassTwo