實(shí)例化對象、用工廠(chǎng)方法代替new操作;工廠(chǎng)模式包括工廠(chǎng)方法模式和抽象工廠(chǎng)模式;抽象工廠(chǎng)模式是工廠(chǎng)方法模式的擴展;
定義一個(gè)接口來(lái)創(chuàng )建對象,但是讓子類(lèi)來(lái)決定哪些類(lèi)需要被實(shí)例化。工廠(chǎng)方法把實(shí)例化的工作推遲到子類(lèi)中去實(shí)現。
有一組類(lèi)似的對象需要創(chuàng )建;在編碼時(shí)不能預見(jiàn)需要創(chuàng )建哪種類(lèi)的實(shí)例;系統需要考慮擴展性、不應依賴(lài)于產(chǎn)品類(lèi)實(shí)例如何被創(chuàng )建、組合和表達的細節;項目中的現狀:
基于項目現狀將代碼進(jìn)行如下設計:在軟件系統中經(jīng)常面臨著(zhù)對象的創(chuàng )建工作,由于需求的變化,這個(gè)對象可能隨之也會(huì )發(fā)生變化,但它卻擁有比較穩定的接口。為此我們需要提供一種封裝機制來(lái)隔離出這個(gè)易變對象的變化,從而保持系統中其他依賴(lài)該對象的對象不隨著(zhù)需求變化而變化。
1、盡量松耦合,一個(gè)對象的依賴(lài)對象的變化與本身無(wú)關(guān);2、具體產(chǎn)品的客戶(hù)端剝離,責任分割;
聯(lián)系客服