SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Factory Pattern (2+1種工廠)
2016/12/30
Taka Wang
為什麼要用 Design Pattern
套用 Pattern 常常會讓程式碼變得更肥,事情變得更複雜
但為了擁抱 ”改變”,開發時期付出比較高的成本
可以帶來架構的彈性,降低維護成本。
好改.好加.不容易出錯
你寫的Code都是誰在維護的?
某 A, B 兩個客戶,用了我們 Motion 的 Library 去操作 Ethercat 類的運動控制卡A
APP1
APP2
ethercat
A
ethercat
A
run ./app1
run ./app2
func app1()
card = new ethercatA()
end
func app2()
card = new ethercatA()
end
需求改變,客人想比較Ethercat類的兩張運動控制卡
APP1
APP2
ethercat
A
run ./app1 a
run ./app2 b
func app1(arg)
if arg == “a”
card = new ethercatA()
else if arg == “b”
card = new ethercatB()
end
func app2(arg)
if arg == “a”
card = new ethercatA()
else if arg == “b”
card = new ethercatB()
end
ethercat
B
如果需求繼續改變
客人要一直修改程式
透過專門的工廠
生產專門的物件
透過簡單工廠物件專門生產(實體化)
APP1
APP2
run ./app1 a
run ./app2 b
func app1(arg)
card = factory(arg)
end
func app2(arg)
card = factory(arg)
end
func factory(arg)
if arg == “a”
card = new ethercatA()
else if arg == “b”
card = new ethercatB()
return card
end
ethercat
A
ethercat
B
客人得救了,不用修改程式 (解耦)
我們只要負責修改工廠 (違反OCP)
Simple Factory Pattern
<<interface>>
MotionCard
+Move()
ConcreteEthercatA
+Move()
ConcreteEthercatB
+Move()
Factory
+create(type): MotionCard
<<create>>
<<create>>
implemented
implemented
use
客人也想用NPM類的卡!!
給他新工廠
Factory Pattern
ConcreteEthercatA
+Move()
ConcreteEthercatB
+Move()
EthercatFactory
+create(type): MotionCard
// call initEthercat()
<<create>>
<<create>>
use
NpmFactory
+create(type): MotionCard
// call initNPM()
<<interface>>
MotionCard
+Move()
<<interface>>
MotionFactory
+create(type): MotionCard
implemented
ConcreteNpmA
+Move()
implemented
介面同,底層實作不同
可以擴充卡別了,Ybus, Zbus..
重點放在工廠的抽象化(Interface)
簡單工廠只是工廠模式的特例
增加新類運動卡,增加新的工廠
舊的工廠再也不用改(OCP得救了)
聽說還有一種抽象工廠...
那 Abstract Factory Pattern 又用在哪裡?
ethercat npm softmotion
Factory Pattern 已經可以水平增加產品線
那 Abstract Factory Pattern 又用在哪裡?
ethercat npm softmotion
linux
windows
macos
抽象工廠用在擴展平台,這些卡別都要支援
卡別
平台
不是用來擴展“擷取卡”,”視覺卡”!
記住上頁二維座標的概念
Abstract Factory Pattern
WinEthercatA
+WinMove()
LinuxEthercatB
+Move()
EthercatFactory
+create(type): MotionCard
+createWin(type): WinMotionCard
use
NpmFactory
+create(type): MotionCard
+createWin(type): WinMotionCard
<<interface>>
WinMotionCard
+WinMove()
<<interface>>
MotionFactory
+create(type): MotionCard
+createWin(type): WinMotionCard
LinuxNpmA
+Move()
<<interface>>
MotionCard
+Move()
WinNpmA
+WinMove()
implemented
<<create>>
<<create>>
implemented
Factory Pattern 複習
ConcreteEthercatA
+Move()
ConcreteEthercatB
+Move()
EthercatFactory
+create(type): MotionCard
// call initEthercat()
<<create>>
<<create>>
use
NpmFactory
+create(type): MotionCard
// call initNPM()
<<interface>>
MotionCard
+Move()
<<interface>>
MotionFactory
+create(type): MotionCard
implemented
ConcreteNpmA
+Move()
implemented
抽象工廠與工廠模式很容易分辨
看看工廠內的Method數,款式
然而,會抓老鼠就是好貓
能夠解耦合就是好工廠
(這兩種工廠隨著維護可能變形)
上述範例僅為了方便理解與記憶
不代表運動控制卡實際用法
Design Pattern 六大元素
Name:模式名稱 (名詞或動詞)
Context:描述問題發生的上下文
Problem:描述問題本身
Force:塑造與影響問題的原因
Solution:解決問題的方法
Resulting Context (Consequence):套用解決問題後的結果 參考:延伸閱讀 [2]
套到 Gogoro 的 Case
Name:Gogoro電動車
Context:空污嚴重,一堆吃油的機車
Problem:人們對於電動機車接受度不高
Force:1. 動力太差。2. 電池充電太久
Solution:高效的馬達與電池交換站的Gogoro完整解決方案
Resulting Context (Consequence):空污改善,但消耗更多能源,機車還是很多
延伸閱讀
1. 設計模式:簡單工廠、工廠方法、抽象工廠之小結與區別
2. 來一個解決問題的公式 – Design Patterns 這樣學就會了心得
3. Head First Design Patterns
4. Agile Software Development, Principles, Patterns, and Practices

Weitere ähnliche Inhalte

Andere mochten auch

Design & Thinking in Luster
Design & Thinking in LusterDesign & Thinking in Luster
Design & Thinking in LusterJason Chung
 
前端魔法師召集令
前端魔法師召集令前端魔法師召集令
前端魔法師召集令Jason Chung
 
Design Pattern - Factory Pattern
Design Pattern - Factory PatternDesign Pattern - Factory Pattern
Design Pattern - Factory PatternLi-Wei Yao
 
行政院簡報 文化部 綜合規劃文化業務(o=m)
行政院簡報 文化部 綜合規劃文化業務(o=m)行政院簡報 文化部 綜合規劃文化業務(o=m)
行政院簡報 文化部 綜合規劃文化業務(o=m)releaseey
 
設計模式的解析與活用:分析
設計模式的解析與活用:分析設計模式的解析與活用:分析
設計模式的解析與活用:分析Kane Shih
 
Pbl present
Pbl presentPbl present
Pbl presentTPYUM
 
Cs 1023 lec 9 design pattern (week 2)
Cs 1023 lec 9 design pattern (week 2)Cs 1023 lec 9 design pattern (week 2)
Cs 1023 lec 9 design pattern (week 2)stanbridge
 
Factory Pattern in Luster
Factory Pattern in LusterFactory Pattern in Luster
Factory Pattern in LusterJason Chung
 
JCConf TW 2014 - Modern Design Pattern
JCConf TW 2014 - Modern Design PatternJCConf TW 2014 - Modern Design Pattern
JCConf TW 2014 - Modern Design PatternSteven Wang
 
Design Patterns in Luster
Design Patterns in LusterDesign Patterns in Luster
Design Patterns in LusterJason Chung
 
股海停聽看查研初探
股海停聽看查研初探股海停聽看查研初探
股海停聽看查研初探vivistar168
 
大數據時代的必備工具-Google Analytics
大數據時代的必備工具-Google Analytics大數據時代的必備工具-Google Analytics
大數據時代的必備工具-Google Analytics新頁 陳
 
Processing - Case Study / Tutorial | 20160427
Processing - Case Study / Tutorial | 20160427Processing - Case Study / Tutorial | 20160427
Processing - Case Study / Tutorial | 20160427Horace Chuang
 
打造国际化产品:Strikingly的I18n实践
打造国际化产品:Strikingly的I18n实践打造国际化产品:Strikingly的I18n实践
打造国际化产品:Strikingly的I18n实践Daniel Gong
 
Design Patterns這樣學就會了:入門班 Day1 教材
Design Patterns這樣學就會了:入門班 Day1 教材Design Patterns這樣學就會了:入門班 Day1 教材
Design Patterns這樣學就會了:入門班 Day1 教材teddysoft
 
給自己更好未來的 3 個練習:嵌入式作業系統設計、實做,與移植 (2015 年春季 ) 課程說明
給自己更好未來的 3 個練習:嵌入式作業系統設計、實做,與移植 (2015 年春季 ) 課程說明給自己更好未來的 3 個練習:嵌入式作業系統設計、實做,與移植 (2015 年春季 ) 課程說明
給自己更好未來的 3 個練習:嵌入式作業系統設計、實做,與移植 (2015 年春季 ) 課程說明National Cheng Kung University
 
淺談 Geb 網站自動化測試(JCConf 2014)
淺談 Geb 網站自動化測試(JCConf 2014)淺談 Geb 網站自動化測試(JCConf 2014)
淺談 Geb 網站自動化測試(JCConf 2014)Kyle Lin
 
HITCON TALK 台灣駭客協會年度活動簡介
HITCON TALK 台灣駭客協會年度活動簡介HITCON TALK 台灣駭客協會年度活動簡介
HITCON TALK 台灣駭客協會年度活動簡介Hacks in Taiwan (HITCON)
 

Andere mochten auch (20)

Design & Thinking in Luster
Design & Thinking in LusterDesign & Thinking in Luster
Design & Thinking in Luster
 
前端魔法師召集令
前端魔法師召集令前端魔法師召集令
前端魔法師召集令
 
Design Pattern - Factory Pattern
Design Pattern - Factory PatternDesign Pattern - Factory Pattern
Design Pattern - Factory Pattern
 
行政院簡報 文化部 綜合規劃文化業務(o=m)
行政院簡報 文化部 綜合規劃文化業務(o=m)行政院簡報 文化部 綜合規劃文化業務(o=m)
行政院簡報 文化部 綜合規劃文化業務(o=m)
 
設計模式的解析與活用:分析
設計模式的解析與活用:分析設計模式的解析與活用:分析
設計模式的解析與活用:分析
 
Pbl present
Pbl presentPbl present
Pbl present
 
Cs 1023 lec 9 design pattern (week 2)
Cs 1023 lec 9 design pattern (week 2)Cs 1023 lec 9 design pattern (week 2)
Cs 1023 lec 9 design pattern (week 2)
 
Factory Pattern in Luster
Factory Pattern in LusterFactory Pattern in Luster
Factory Pattern in Luster
 
JCConf TW 2014 - Modern Design Pattern
JCConf TW 2014 - Modern Design PatternJCConf TW 2014 - Modern Design Pattern
JCConf TW 2014 - Modern Design Pattern
 
Design Patterns in Luster
Design Patterns in LusterDesign Patterns in Luster
Design Patterns in Luster
 
mbot初體驗
mbot初體驗mbot初體驗
mbot初體驗
 
股海停聽看查研初探
股海停聽看查研初探股海停聽看查研初探
股海停聽看查研初探
 
大數據時代的必備工具-Google Analytics
大數據時代的必備工具-Google Analytics大數據時代的必備工具-Google Analytics
大數據時代的必備工具-Google Analytics
 
Processing - Case Study / Tutorial | 20160427
Processing - Case Study / Tutorial | 20160427Processing - Case Study / Tutorial | 20160427
Processing - Case Study / Tutorial | 20160427
 
打造国际化产品:Strikingly的I18n实践
打造国际化产品:Strikingly的I18n实践打造国际化产品:Strikingly的I18n实践
打造国际化产品:Strikingly的I18n实践
 
[生產力4.0 ]智慧機器人技術趨勢與產業應用 賴文政博士
[生產力4.0 ]智慧機器人技術趨勢與產業應用 賴文政博士[生產力4.0 ]智慧機器人技術趨勢與產業應用 賴文政博士
[生產力4.0 ]智慧機器人技術趨勢與產業應用 賴文政博士
 
Design Patterns這樣學就會了:入門班 Day1 教材
Design Patterns這樣學就會了:入門班 Day1 教材Design Patterns這樣學就會了:入門班 Day1 教材
Design Patterns這樣學就會了:入門班 Day1 教材
 
給自己更好未來的 3 個練習:嵌入式作業系統設計、實做,與移植 (2015 年春季 ) 課程說明
給自己更好未來的 3 個練習:嵌入式作業系統設計、實做,與移植 (2015 年春季 ) 課程說明給自己更好未來的 3 個練習:嵌入式作業系統設計、實做,與移植 (2015 年春季 ) 課程說明
給自己更好未來的 3 個練習:嵌入式作業系統設計、實做,與移植 (2015 年春季 ) 課程說明
 
淺談 Geb 網站自動化測試(JCConf 2014)
淺談 Geb 網站自動化測試(JCConf 2014)淺談 Geb 網站自動化測試(JCConf 2014)
淺談 Geb 網站自動化測試(JCConf 2014)
 
HITCON TALK 台灣駭客協會年度活動簡介
HITCON TALK 台灣駭客協會年度活動簡介HITCON TALK 台灣駭客協會年度活動簡介
HITCON TALK 台灣駭客協會年度活動簡介
 

Ähnlich wie Factory Patterns

Avm2虚拟机浅析与as3性能优化(陈士凯)
Avm2虚拟机浅析与as3性能优化(陈士凯)Avm2虚拟机浅析与as3性能优化(陈士凯)
Avm2虚拟机浅析与as3性能优化(陈士凯)FLASH开发者交流会
 
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)Shanda innovation institute
 
Avm2虚拟机浅析与as3性能优化
Avm2虚拟机浅析与as3性能优化Avm2虚拟机浅析与as3性能优化
Avm2虚拟机浅析与as3性能优化Harvey Zhang
 
[嵌入式系統] 嵌入式系統進階
[嵌入式系統] 嵌入式系統進階[嵌入式系統] 嵌入式系統進階
[嵌入式系統] 嵌入式系統進階Simen Li
 
Apache Kylin Data Summit 2019: Kyligence Presentation
Apache Kylin Data Summit 2019: Kyligence PresentationApache Kylin Data Summit 2019: Kyligence Presentation
Apache Kylin Data Summit 2019: Kyligence PresentationTyler Wishnoff
 
基于嵌入式系统的Avs P10编码系统设计
基于嵌入式系统的Avs P10编码系统设计基于嵌入式系统的Avs P10编码系统设计
基于嵌入式系统的Avs P10编码系统设计Hengyi
 
容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中Andrew Wu
 
程式人雜誌 -- 2014 年8月號
程式人雜誌 -- 2014 年8月號程式人雜誌 -- 2014 年8月號
程式人雜誌 -- 2014 年8月號鍾誠 陳鍾誠
 
Ibm dnt-dcos-v9-3
Ibm dnt-dcos-v9-3Ibm dnt-dcos-v9-3
Ibm dnt-dcos-v9-3Guangya Liu
 
建立PHP & MySQL應用程式開發環境 - XAMPP安裝與測試
建立PHP & MySQL應用程式開發環境 - XAMPP安裝與測試建立PHP & MySQL應用程式開發環境 - XAMPP安裝與測試
建立PHP & MySQL應用程式開發環境 - XAMPP安裝與測試吳錫修 (ShyiShiou Wu)
 
讓你的人工智慧更智慧 - Developer Student Clubs.pptx
讓你的人工智慧更智慧 - Developer Student Clubs.pptx讓你的人工智慧更智慧 - Developer Student Clubs.pptx
讓你的人工智慧更智慧 - Developer Student Clubs.pptxNCUDSC
 
Osc scott linux下的数据库优化for_postgresql
Osc scott linux下的数据库优化for_postgresqlOsc scott linux下的数据库优化for_postgresql
Osc scott linux下的数据库优化for_postgresqlOpenSourceCamp
 
MySQL新技术探索与实践
MySQL新技术探索与实践MySQL新技术探索与实践
MySQL新技术探索与实践Lixun Peng
 

Ähnlich wie Factory Patterns (20)

Avm2虚拟机浅析与as3性能优化(陈士凯)
Avm2虚拟机浅析与as3性能优化(陈士凯)Avm2虚拟机浅析与as3性能优化(陈士凯)
Avm2虚拟机浅析与as3性能优化(陈士凯)
 
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)
 
Avm2虚拟机浅析与as3性能优化
Avm2虚拟机浅析与as3性能优化Avm2虚拟机浅析与as3性能优化
Avm2虚拟机浅析与as3性能优化
 
[嵌入式系統] 嵌入式系統進階
[嵌入式系統] 嵌入式系統進階[嵌入式系統] 嵌入式系統進階
[嵌入式系統] 嵌入式系統進階
 
Godson x86
Godson x86Godson x86
Godson x86
 
AMA 認證簡介
AMA 認證簡介AMA 認證簡介
AMA 認證簡介
 
Apache Kylin Data Summit 2019: Kyligence Presentation
Apache Kylin Data Summit 2019: Kyligence PresentationApache Kylin Data Summit 2019: Kyligence Presentation
Apache Kylin Data Summit 2019: Kyligence Presentation
 
基于嵌入式系统的Avs P10编码系统设计
基于嵌入式系统的Avs P10编码系统设计基于嵌入式系统的Avs P10编码系统设计
基于嵌入式系统的Avs P10编码系统设计
 
容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中容器驅動開發 - .NET Conf 2017 @ 台中
容器驅動開發 - .NET Conf 2017 @ 台中
 
Hi Haskell
Hi HaskellHi Haskell
Hi Haskell
 
Arduino簡介
Arduino簡介Arduino簡介
Arduino簡介
 
程式人雜誌 -- 2014 年8月號
程式人雜誌 -- 2014 年8月號程式人雜誌 -- 2014 年8月號
程式人雜誌 -- 2014 年8月號
 
Ibm dnt-dcos-v9-3
Ibm dnt-dcos-v9-3Ibm dnt-dcos-v9-3
Ibm dnt-dcos-v9-3
 
Dev307
Dev307Dev307
Dev307
 
CDP方案介绍
CDP方案介绍CDP方案介绍
CDP方案介绍
 
建立PHP & MySQL應用程式開發環境 - XAMPP安裝與測試
建立PHP & MySQL應用程式開發環境 - XAMPP安裝與測試建立PHP & MySQL應用程式開發環境 - XAMPP安裝與測試
建立PHP & MySQL應用程式開發環境 - XAMPP安裝與測試
 
Arduino程式除錯
Arduino程式除錯Arduino程式除錯
Arduino程式除錯
 
讓你的人工智慧更智慧 - Developer Student Clubs.pptx
讓你的人工智慧更智慧 - Developer Student Clubs.pptx讓你的人工智慧更智慧 - Developer Student Clubs.pptx
讓你的人工智慧更智慧 - Developer Student Clubs.pptx
 
Osc scott linux下的数据库优化for_postgresql
Osc scott linux下的数据库优化for_postgresqlOsc scott linux下的数据库优化for_postgresql
Osc scott linux下的数据库优化for_postgresql
 
MySQL新技术探索与实践
MySQL新技术探索与实践MySQL新技术探索与实践
MySQL新技术探索与实践
 

Mehr von Jamie (Taka) Wang

Mehr von Jamie (Taka) Wang (20)

20200606_insight_Ignition
20200606_insight_Ignition20200606_insight_Ignition
20200606_insight_Ignition
 
20200727_Insight workstation
20200727_Insight workstation20200727_Insight workstation
20200727_Insight workstation
 
20200723_insight_release_plan
20200723_insight_release_plan20200723_insight_release_plan
20200723_insight_release_plan
 
20210105_量產技轉
20210105_量產技轉20210105_量產技轉
20210105_量產技轉
 
20200808自營電商平台策略討論
20200808自營電商平台策略討論20200808自營電商平台策略討論
20200808自營電商平台策略討論
 
20200427_hardware
20200427_hardware20200427_hardware
20200427_hardware
 
20200429_ec
20200429_ec20200429_ec
20200429_ec
 
20200607_insight_sync
20200607_insight_sync20200607_insight_sync
20200607_insight_sync
 
20220113_product_day
20220113_product_day20220113_product_day
20220113_product_day
 
20200429_software
20200429_software20200429_software
20200429_software
 
20200602_insight_business
20200602_insight_business20200602_insight_business
20200602_insight_business
 
20200408_gen11_sequence_diagram
20200408_gen11_sequence_diagram20200408_gen11_sequence_diagram
20200408_gen11_sequence_diagram
 
20190827_activity_diagram
20190827_activity_diagram20190827_activity_diagram
20190827_activity_diagram
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
20161220 - microservice
20161220 - microservice20161220 - microservice
20161220 - microservice
 
20160217 - Overview of Vortex Intelligent Data Sharing Platform
20160217 - Overview of Vortex Intelligent Data Sharing Platform20160217 - Overview of Vortex Intelligent Data Sharing Platform
20160217 - Overview of Vortex Intelligent Data Sharing Platform
 
20151111 - IoT Sync Up
20151111 - IoT Sync Up20151111 - IoT Sync Up
20151111 - IoT Sync Up
 
20151207 - iot strategy
20151207 - iot strategy20151207 - iot strategy
20151207 - iot strategy
 
20141210 - Microservice Container
20141210 - Microservice Container20141210 - Microservice Container
20141210 - Microservice Container
 
20161027 - edge part2
20161027 - edge part220161027 - edge part2
20161027 - edge part2
 

Kürzlich hochgeladen

EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxmekosin001123
 
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...黑客 接单【TG/微信qoqoqdqd】
 
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制jakepaige317
 
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,Xin Yun Teo
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxmekosin001123
 
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书jakepaige317
 
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxmekosin001123
 

Kürzlich hochgeladen (7)

EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptx
 
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
 
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
 
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptx
 
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
泽兰应用科学大学毕业证制作/定制国外大学录取通知书/购买一个假的建国科技大学硕士学位证书
 
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
 

Factory Patterns