Android設計模式——工廠模式

一、工廠模式使我們是我們最常用的實例化對象模式,是用工廠方式代替new操作的一種模式。

通常我們創(chuàng)建類的實例對象的時候,以類A為例,A? a=new? A();采用new對象的操作。可是實際情況是,通常我們需要在實例對象的時候做一些其他的初始化操作,比如賦值,查詢數(shù)據(jù)等。如 A? a=new A(參數(shù))。

但是有時候,我們創(chuàng)建實例的初始化操作并不僅僅是賦值那么簡單,可能是很長一段代碼,一段操作。這樣代碼就很難看,而且很不安全,為了簡化操作,就引出了工廠模式。

二、面向對象的封裝和分派告訴我們,盡量將長的代碼分派“切割”成每段,將每段在“封裝”起來(減少段和段之間耦合聯(lián)系性),這樣就會將風險分散,以后如果需要修改。只要更改每段,不會在發(fā)生牽一發(fā)而動全身的事情。

? 1、首先,我們需要將創(chuàng)建實例的工作和使用實例的工作進行分開,也就是說,讓創(chuàng)建實例所需要的大量初始化工作從構造函數(shù)中分離出來。這時候我們就需要我們的Factory工廠模式生成對象了。

public class Factory {

public static A creatA(int position) {

A a =null;

if (position ==1) {

a =new A1();

}else if (position ==2) {

a =new A2();

}

return a;

}

}

在程序中,需要使用A的實例的話,就可以直接調用

A a=Factory.creatA(2);

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,564評論 19 139
  • 本文首發(fā)于個人博客:Lam's Blog - 談談23種設計模式在Android源碼及項目中的應用,文章由Mark...
    格子林ll閱讀 4,774評論 1 105
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,697評論 18 399
  • 1 場景問題# 1.1 導出數(shù)據(jù)的應用框架## 考慮這樣一個實際應用:實現(xiàn)一個導出數(shù)據(jù)的應用框架,來讓客戶選擇數(shù)據(jù)...
    七寸知架構閱讀 7,015評論 6 75
  • 若來世還和你相遇在人海 我用最虔誠的心態(tài) 融化最醇美的摯愛 若來世還和你相遇在邊塞 我愿放下兵刃勒緊韁帶 繞你最短...
    禪燈旁的胡楊閱讀 247評論 0 0

友情鏈接更多精彩內容