整体介绍
◆介绍设计模式
◆介绍工厂模式的用途与特点
◆掌握工厂模式的项目应用
设计模式
◆设计模式是前辈总结的设计经验,主要为面向对象语言服务
◆设计模式的目标是代码更容易理解,更容易维护
◆通过设计模式可以让代码更加可
设计模式的分类
◆创建型模式
◆结构型模式
◆行为型模式
工厂模式
创建型模式中最重要最基本的模式-工厂模式
◆工厂模式用于隐藏创建对象的细节
◆工厂模式核心:工厂类(Factory)
◆工厂模式可细分为简单工厂、工厂方法与抽象工厂
简单工厂
新建一个maven工程,新建电脑店com.imooc.factory.computershop
客户买电脑,有多种多样的电脑,需要根据自己需求定制,所以需要导播员这个接口进行引导
新建一个电脑接口抽象类Computer.java 每种电脑有描述信息,新建方法describe(),只定义,不实现
同理,新建台式电脑类Desktop.java,实现接口方法
继续笔记本电脑类Notebook.java
还有服务器类Server.java
其它电脑类Other.java
我们需要一位店员,对电脑的需求和电脑的种类了如指掌
新建shopAssistant.java
编写suggest类
这时来了一位顾客,新建Customer类
顾客不需要掌握每一种商品的详细特性,只需面向销售员shopAssistant即可
顾客不用知道c是什么种类,只需询问销售员,所有电脑由Computer接口定义,返回Computer即可
返回结果:
华为MateBook14超轻薄办公商务本
Process finished with exit code 0
项目应用-i18n国际化
不同网站在不同地区显示不同语言,这是经典的工厂模式案例
i18n全称internationalization,i到n之间有18个单词
我们要知道,只要出现了工厂模式,必然需要一个顶级接口类
新建Language接口类,新建方法getTitle();
新建Chinese实现类
同理English类
我们这时如果一个程序员开发一个app,不是和语言创建者是同一个程序员,进行语言切换时是没必要了解各种语言具体实现,我们只需要新建一个工厂类I18NFactory.java
新建App类
输入psvm快速创建main函数
在I18NFactory文件下:
约定俗成,如果后缀有Factory单词,可以认定为工厂类
在App中调用接口