C++中的map容器的刪除、插入、遍歷
阿新 • • 發佈:2021-01-06
簡單工廠模式的定義
簡單工廠模式(Simple Factory Pattern)又叫作靜態工廠方法模式(StaticFactory Method Pattern),簡單來說,簡單工廠模式有一個具體的工廠類,可以生成多個不同的產品,屬於建立型設計模式。簡單工廠模式不在GoF 23種設計模式之列。
簡單工廠模式主要包含3個角色
- 簡單工廠(SimpleFactory):是簡單工廠模式的核心,負責實現建立所有例項的內部邏輯。工廠類的建立產品類的方法可以被外界直接呼叫,建立所需的產品物件。
- 抽象產品(IProduct):是簡單工廠建立的所有物件的父類,負責描述所有例項共有的公共介面。
- 具體產品(ConcreteProduct):是簡單工廠模式的建立目標。
示例
- 定義一個課程標準ICourse介面
package com.liguogang.SimpleFactoryPattern;
public interface ICourse {
// 錄製視訊
public void record();
}
- 建立一個Java課程的實現類JavaCourse
package com.liguogang.SimpleFactoryPattern;
public class JavaCourse implements ICourse {
@Override
public void record() {
System.out.println("錄製java課程");
}
}
- 建立一個Python課程的實現類PythonCourse
package com.liguogang.SimpleFactoryPattern; public class PythonCourse implements ICourse { @Override public void record() { System.out.println("錄製python課程"); } }
- 建立CourseFactory工廠類
package com.liguogang.SimpleFactoryPattern;
public class CourseFactory {
public static ICourse create(Class<? extends ICourse> clazz) {
try {
if (null != clazz)
return clazz.newInstance();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
- 客戶端測試程式碼
package com.liguogang.SimpleFactoryPattern;
public class Test {
public static void main(String[] args) {
CourseFactory courseFactory = new CourseFactory();
ICourse javaCourse = courseFactory.create(JavaCourse.class);
javaCourse.record();
}
}
效果:
原始碼地址:https://github.com/lee58/designPattern/tree/master