Java工程师-18周框架前置知识-第二章(工厂模式)

77 阅读1分钟

第二章 工厂模式

image.png

2.1 介绍设计模式

image.png

image.png

image.png

2.2 工厂模式

image.png

image.png

image.png

使用简单工厂完成国际化

对于工厂来说,隐藏了创建类的细节;客户端的使用者直接面向工厂,让工厂去选择创建适合的对象

public class Software {  
    public static void main(String[] args) {  
        //根据不同的地区显示不同的语言  
        I18N i18N = I18NFactory.getI18NObject("China");  
        System.out.println(i18N.getTitle());  
    }  
}

在工厂中,由工厂去决定具体的实现类是哪个,并且创建它的对象

public class I18NFactory {
    //静态工厂
    public static I18N getI18NObject(String area) {
        if(area.equals("China")) return new Chinese();
        else if(area.equals("Spain")) return new Spanish();
        else if(area.equals("Italy")) return new Italian();
        else return null;
    }
}

对于具体的实现类来说,他们都要实现相同的接口(I18N);其次无论是工厂还是工厂返回的实例,都是面向接口开发

public class Chinese implements I18N{  
    public String getTitle() {  
        return "人事管理系统";  
    }  
}
public class Italian implements I18N{
    public String getTitle() {
        return "Sistema di gestione del personale";
    }
}
public class Spanish implements I18N{  
    public String getTitle() {  
        return "Sistema de gestión del personal";  
    }  
}