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