美文网首页
创建型模式:03-抽象工厂模式

创建型模式:03-抽象工厂模式

作者: 综合楼 | 来源:发表于2021-06-10 20:08 被阅读0次

    类图

    image.png
    image.png

    示例代码:

    image.png
    package com.zhs.design.factory.abstract_.factory;
    --------------------------------------------------------------------------------
    public interface PhoneFactory {
        OperationController getOperationController();
        InterfaceController getInterfaceController();
    }
    --------------------------------------------------------------------------------
    public class AndroidFactory implements PhoneFactory {
        @Override
        public OperationController getOperationController() {
            return new AndroidOperationController();
        }
    
        @Override
        public InterfaceController getInterfaceController() {
            return new AndroidInterfaceController();
        }
    }
    --------------------------------------------------------------------------------
    public class AppleFactory implements PhoneFactory {
        @Override
        public OperationController getOperationController() {
            return new AppleOperationController();
        }
    
        @Override
        public InterfaceController getInterfaceController() {
            return new AppleInterfaceController();
        }
    }
    --------------------------------------------------------------------------------
    public class SymbianFactory implements PhoneFactory {
        @Override
        public OperationController getOperationController() {
            return new SymbianOperationController();
        }
    
        @Override
        public InterfaceController getInterfaceController() {
            return new SymbianInterfaceController();
        }
    }
    
    
    package com.zhs.design.factory.abstract_.interface_;
    --------------------------------------------------------------------------------
    public interface InterfaceController {
        void show();
    }
    --------------------------------------------------------------------------------
    public class AndroidInterfaceController implements InterfaceController {
        public AndroidInterfaceController() {
            System.out.println("初始化: AndroidInterfaceController");
        }
    
        @Override
        public void show() {
            System.out.println("Android界面控制");
        }
    }
    --------------------------------------------------------------------------------
    public class AppleInterfaceController implements InterfaceController {
        public AppleInterfaceController() {
            System.out.println("初始化: AppleInterfaceController");
        }
    
        @Override
        public void show() {
            System.out.println("Apple界面控制");
        }
    }
    --------------------------------------------------------------------------------
    public class SymbianInterfaceController implements InterfaceController {
        public SymbianInterfaceController() {
            System.out.println("初始化: SymbianInterfaceController");
        }
    
        @Override
        public void show() {
            System.out.println("Symbian界面控制");
        }
    }
    
    package com.zhs.design.factory.abstract_.operation;
    --------------------------------------------------------------------------------
    public interface OperationController {
        void work();
    }
    --------------------------------------------------------------------------------
    public class AndroidOperationController implements OperationController {
        public AndroidOperationController() {
            System.out.println("初始化: AndroidOperationController");
        }
    
        @Override
        public void work() {
            System.out.println("Android操作控制");
        }
    }
    --------------------------------------------------------------------------------
    public class AppleOperationController implements OperationController {
        public AppleOperationController() {
            System.out.println("初始化: AppleOperationController");
        }
    
        @Override
        public void work() {
            System.out.println("Apple操作控制");
        }
    }
    --------------------------------------------------------------------------------
    public class SymbianOperationController implements OperationController {
        public SymbianOperationController() {
            System.out.println("初始化: SymbianOperationController");
        }
    
        @Override
        public void work() {
            System.out.println("Symbian操作控制");
        }
    }
    

    相关文章

      网友评论

          本文标题:创建型模式:03-抽象工厂模式

          本文链接:https://www.haomeiwen.com/subject/mwfceltx.html