Android開發之原廠模式初探,android工廠初探
原廠模式(Factory)是比較常見的一種模式我覺得也是一種非常容易理解的一種模式,舉個簡單的例子吧,我們小時候經常考試,每次最害怕的就是爸媽問考試試卷的分數,不同的分數我們的心情也是不一樣的。那麼我們就根據這個情況以原廠模式寫一個Java程式。
public class Factory { public static Student_test creator(String rank){ if(rank.equals("優秀")){ return new Student_Laugh(); }else{ return new Student_Cry(); } }} 在這裡我們建立了一個工廠類根據該學生得到的不同成績,產生該學生不同情緒的反應類。很多人覺得我直接根據值new Student()類不就好了,是的啊這樣的邏輯沒有問題,但是如果建立Student執行個體時所做的初始化工作不是象賦值這樣簡單的事,我們都知道我們苦逼的分數都是由我們老師打得,是經曆了一個很長的閱卷過程,轉化起來可能是很長一段代碼,如果也寫入建構函式中,那我們的代碼很難看了(就需要Refactor重整)。
為什麼說代碼很難看,大部分人剛開始可能沒有這種感覺,我剛開始也是這麼覺得。但是我們分析一下,初始化工作如果是很長一段代碼,說明要做的工作很多,將很多工作裝入一個方法中,相當於將很多雞蛋放在一個籃子裡,是很危險的,這也是有背於Java物件導向的原則,物件導向的封裝(Encapsulation)和指派(Delegation)告訴我們,盡量將長的代碼指派“切割”成每段,將每段再“封裝”起來(減少段和段之間偶合聯絡性),這樣就會將風險分散,以後如果需要修改,只要更改每段,不會再發生牽一動百的事情。
在本例中,首先,我們需要將建立執行個體的工作與使用執行個體的工作分開, 也就是說,讓建立執行個體所需要的大量初始化工作從Student的建構函式中分離出去。
在構建工廠類的時候呢,除了上述的工廠類Factory,還有抽象類別Student
public abstract class Student {} Student的子類laugh,cry類繼承抽象類別Student共同組成。
下面我們再來介紹一下抽象工廠模型,這兩個模式區別在於需要建立對象的複雜程度上。如果我們建立對象的方法變得複雜了,如上面Factory 方法中是建立一個對象Student_test,如果學生還有普通不考試的狀態Student_normal,這怎麼辦呢!我們繼續上面的比方,一個家比喻成一個工廠,他們家有兩個小孩,兩個小孩還是都要去考試吧,都會有考試成績吧,但雖然是一個爸媽生的,對於分數的表現也是不一樣的吧。按照上述情境,我們在寫一個抽象工廠模型。
public abstract class Factory{public abstract Student_normal creator();public abstract Student_test creator(String name);}public class SimpleFactory extends Factory{public Student_normal creator(){ ......... return new StudentA }public Student_test creator(String name){.........return new StudentA_laugh|cry }}public class BombFactory extends Factory{public Student_normal creator(){...... return new StudentB}public Student_test creator(String name){...... return new StudentB_laugh|cry }}}
從上述程式碼分析,我們總共有兩個抽象的creator類Student_normal和Student_test類,代表平時學生的兩種狀態,考試和不考試的狀態,而每一個抽象類別模型下面又有剛說的那兩孩子,Student_normal類下面StudentA、StudentB,以此類推。那麼我們為什麼不直接建兩個工廠就好了啊,因為他們是彼此有連結,有關係的,,我們將共同部分封裝在抽象類別中,不同部分使用子類實現。
抽象工廠模型相比普通工廠模型而言就多了一類角色[抽象工廠類],需要普通工廠類繼承抽象工廠類來實現,抽象工廠類封裝了生產商品共用的方法,普通工廠類則專門負責其單一的一類具體產品的生產。
安卓手機原廠模式跟工程模式有什不同?
工程模式是用來升級系統,更改系統關鍵參數用的。
原廠模式是用來reboot的。(跟恢復出廠預設值差不多)
安卓手機原廠模式
恢複出產?你的系統多少?進設定,找到重設這個選項,裡面有,如果沒有重設這個選項,就找隱私權這個選項。可以恢複出產。你說的原廠模式是什麼啊?工程模式?還是挖煤模式?