解析iOS应用开发中对设计模式中的抽象工厂模式的实现

2020-01-14 22:12:41于海丽

    @Override
    public void coding() {
        System.out.println("Coding Android!");
    }
}

class CodeImplPHP implements ICode {
    @Override
    public void coding() {
        System.out.println("Coding PHP!");
    }
}
/*工具书等级结构*/
interface INeedBook {
    void lookBook();
}

class NeedBookImplAndroid implements INeedBook {
    @Override
    public void lookBook() {
        System.out.println("Look Android Book!");
    }
}

class NeedBookImplPHP implements INeedBook {
    @Override
    public void lookBook() {
        System.out.println("Look PHP Book!");
    }
}
/*产品族*/
interface IAbstractFactory {
    ICode getCodingSkill();
    INeedBook getNeedBook();
}

class FactoryImplAndroid implements IAbstractFactory {
    @Override
    public ICode getCodingSkill() {
        return new CodeImplAndroid();
    }

    @Override
    public INeedBook getNeedBook() {
        return new NeedBookImplAndroid();
    }
}

class FactoryImplPHP implements IAbstractFactory {
    @Override
    public ICode getCodingSkill() {
        return new CodeImplPHP();
    }

    @Override
    public INeedBook getNeedBook() {
        return new NeedBookImplPHP();
    }
}

public class Main {
    public static void main(String[] args) {
        IAbstractFactory factory = new FactoryImplAndroid();
        ICode code = factory.getCodingSkill();
        INeedBook book = factory.getNeedBook();