開發(fā)APP對(duì)于樣式設(shè)計(jì)的幾種模式:Builder模式 Builder模式將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示形式分離,深圳APP開發(fā)公司認(rèn)為這樣使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示形式。Android中AlertDialog的初始化配置就使用了Builder模式,加載圖片的庫ImageLoader和HTTP請(qǐng)求的初始化配置等也使用了Builder模式。
APP設(shè)計(jì)模式分類之原型模式
原型模式允許通過復(fù)制現(xiàn)有的實(shí)例來創(chuàng)建新的實(shí)例。當(dāng)創(chuàng)建給定的類的實(shí)例過程較復(fù)雜或消耗較多資源時(shí),就可使用原型模式。在Android中,可以通過Cloneable接口實(shí)現(xiàn)。在電商APP中,修改用戶信息、修改購物車詳情、修改訂單詳情和修改用戶編輯的文本內(nèi)容等可使用原型模式。原型模式的核心問題就是對(duì)原始對(duì)象進(jìn)行拷貝,使用時(shí)需要注意深、淺拷貝的問題。建議盡量使用深拷貝,這樣可以避免操作副本時(shí)影響原始對(duì)象。
APP設(shè)計(jì)模式分類之工廠方法模式
工廠方法模式定義了一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類決定將哪一個(gè)類實(shí)例化,使一個(gè)類的實(shí)例化延遲到其子類。在電商APP中,創(chuàng)建各類商品對(duì)象和各類訂單對(duì)象時(shí)就可以使用工廠模式。代碼示例:publicabstractclassProduct{ Publicabstractvoidmethod();}publicclassConcreteProductAextendsclassProduct{@Override publicvoidmethod(){ … }}publicclassConcreteProductBextendsclassProduct{@Override publicvoidmethod(){ …
}}//@paramclz產(chǎn)品類型//@return具體的產(chǎn)品對(duì)象publicabstractclassFactory{ publicabstract<TextendsProduct>TcreateProduct(Class<T>clz);}publicclassConcreteFactoryextendsclassFactory{ @Override publicabstract<TextendsProduct>TcreateProduct(Class<T>clz){ Productp=null; try{ p=(Product)Class.format(clz.getName()).newInstance(); }catch(Exceptione){ … } return(T)p; }}publicclassClient{
publicstaticvoidmain(Stringargs){ Factoryfactory=newConcreteFactory(); Productp=factory.createProduct(ConcreteProductA.class); }}
APP設(shè)計(jì)模式分類之策略模式
策略模式定義一系列的算法,并把每一個(gè)算法封裝起來,且使它們可相互替換,使得算法的變化可獨(dú)立于使用它的客戶。在電商APP中,各類商品列表的排序功能及計(jì)算各類商品的費(fèi)用等功能(不同商品的單價(jià)和總價(jià)的計(jì)算方式可能不同)可以使用策略模式。
APP設(shè)計(jì)模式分類之狀態(tài)模式
狀態(tài)模式允許對(duì)象在其內(nèi)部狀態(tài)改變時(shí)改變它的行為。對(duì)象看起來似乎修改了它所屬的類。電商APP的訂單對(duì)象包含有多種狀態(tài),以及用戶登錄對(duì)象包含已登錄和未登錄的兩種狀態(tài),這兩個(gè)對(duì)象的具體實(shí)現(xiàn)都可以使用狀態(tài)模式。
APP設(shè)計(jì)模式分類之命令模式
命令模式將請(qǐng)求封裝為對(duì)象,從而使用不同的請(qǐng)求或隊(duì)列來參數(shù)化其他對(duì)象。命令模式也支持可撤銷的操作。游戲開發(fā)和菜單功能的開發(fā)都可使用命令模式。
APP設(shè)計(jì)模式分類之觀察者模式
觀察者模式定義對(duì)象間的一種一對(duì)多的依賴關(guān)系,以便當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都得到通知并自動(dòng)更新。Android系統(tǒng)的BroadcastReceiver組件和GUI系統(tǒng)就使用了觀察者
觀察者模式。
APP設(shè)計(jì)模式分類之備忘錄模式
備忘錄模式在不破壞封裝性的前提下,存儲(chǔ)對(duì)象的關(guān)鍵狀態(tài),并在該對(duì)象之外保存這個(gè)狀態(tài)。這樣以后就可將該對(duì)象恢復(fù)到保存的狀態(tài)。當(dāng)用戶把APP切換到后臺(tái)時(shí),需要保存當(dāng)前界面的數(shù)據(jù),以便在切換回前臺(tái)時(shí)恢復(fù)數(shù)據(jù),此外游戲和文本編輯中的存檔功能,都可使用備忘錄模式。
APP設(shè)計(jì)模式分類之迭代器模式
迭代器模式提供一種方法順序訪問一個(gè)聚合對(duì)象中的各個(gè)元素,而且不需暴露該對(duì)象的內(nèi)部表示。此模式適用于遍歷一個(gè)容器對(duì)象,如數(shù)組、鏈表和Map等。好了,APP開發(fā)公司本文關(guān)于“開發(fā)APP對(duì)于模式分類詳解”知識(shí)與經(jīng)驗(yàn)分享就到這里,謝謝關(guān)注,博納網(wǎng)絡(luò)編輯整理。