3. 某 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
4. 需求改變,客人想比較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
7. 透過簡單工廠物件專門生產(實體化)
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