《Factory》
<大纲>
介绍设计模式
介绍工厂模式
掌握工厂模式的项目应用
1.设计模式
- 不隶属于软件工程行业,这个术语是在1990年代由Erich Gamma等人从建筑设计领域引入到计算机科学中来的。
- 软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
- 使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。
- 是对面向对象设计中反复出现的问题的解决方案。
- 设计模式通常描述了一组相互紧密作用的类与对象。设计模式提供一种讨论软件设计的公共语言,使得熟练设计者的设计经验可以被初学者和其他设计者掌握。
- 模式原则
- 开闭原则
- 里氏代换原则
- 合成复用原则
- 依赖倒转原则
- 接口隔离原则
- 单一职责原则
- 最小知识原则
- 设计模式的分类
- 创建型模式
- 结构型模式
- 行为型模式
2.工厂模式
- 用于隐藏创建对象的细节
- 模式核心:工厂类(Factory)
- 可细分为简单工厂、工厂方法、抽象工厂
3.项目应用
-
Software.java
package com.imooc.factory; import com.imooc.factory.i18n.I18N; import com.imooc.factory.i18n.I18NFactory; public class Software { public static void main(String[] args) { I18N i18n = I18NFactory.getI18NObject("spain"); System.out.println(i18n.getTitle()); } }
-
Chinese.java
package com.imooc.factory.i18n; public class Chinese implements I18N{ public String getTitle() { return "用户管理系统"; } }
-
Italian.java
package com.imooc.factory.i18n; public class Italian implements I18N{ public String getTitle() { return "Sistema della direzione del personale"; } }
-
Spanish.java
package com.imooc.factory.i18n; public class Spainish implements I18N{ public String getTitle() { return "Sistema de gesti��n del personal"; } }
-
I18N.java
package com.imooc.factory.i18n; //Internationalization public interface I18N { public String getTitle(); }
-
I18NFactory.java
package com.imooc.factory.i18n; public class I18NFactory { //简单工厂 public static I18N getI18NObject(String area) { if(area.equals("china")) { return new Chinese(); }else if(area.equals("spain")) { return new Spainish(); }else if(area.equals("italy")) { return new Italian(); }else { return null; } } }