零 設計模式基礎

2021-07-11 05:30:28 字數 1650 閱讀 3007

1、變與不變的分離是設計hook函式及應用框架的基本原則和手藝。

就android框架而言,所謂[不變]的部分,就是它屬於各種應用程式件的共同部分,所以不隨著應用的改變而改變,因此稱之為不變。

分離出變與不變部分之後,就可以將不變部分寫在父類別裡,而不變的部分就寫在子類別裡,然後就有類別繼承機制組織起來。

public class aa 

public void print()

}

public class bb 

public void print()

}

public class jmain }
把以上的程式分離出變與不變--->

步驟一:把aa和bb視為兩個不同應用程式裡的類別,並且觀察其變與不變:

首先從資料成員上的差異,就能看出它們之間的變化點:

string x; int x;

然後就能看出函式的會變的部分:

system.out.println(x);
步驟二:將會變的部分寫在hook函式裡:

public class aa 

public final void template_print()

public string hook_getdata()

}

public class bb 

public final template_print()

public string hook_getdata()

}

步驟三:將不變部分寫入抽象類

public class jmain }
框架的反向控制ioc常見的實現機制有:1、繼承+hook函式(例如template method)2、委託+hook函式(例如observer)

設計模式零(物件導向基礎)

本內容參考大話設計模式記錄 物件 一切事物皆物件。類 對物件進行的抽象。例項 類的乙個具體實體。方法過載 方法名相同但是引數型別或者個數不同的方法。物件導向的三大特性 繼承,封裝,多型 繼承 子類繼承父類後具有父類的保護和公有的一些方法,屬性等並且能擴充自己。對於父類的建構函式只能呼叫不能繼承。當物...

設計模式(零)簡介

設計模式,是一種思維,一種態度,一種進步 設計模式,是軟體工程的基石,如同大廈的一塊塊磚石一樣。在專案中,合理的運用設計模式,可以完美的解決很多問題。每種模式在現實中都有相應的原理來與之對應,每一種模式,都描述了乙個在我們周圍不斷重 生的問題,以及該問題的核心解決方案,這也是它能被廣泛應用的原因。建...

從零開始學習設計模式 策略模式

寫這個模式之前,實在是覺得策略模式和靜態工廠模式很像,無非就是從父類中抽象中公用的方法,然後在實體類中重寫具體的實現。但其實這兩者的區別還是有的,從關注的點來說,靜態工廠關注例項化的物件,而策略模式則更關注方法中不同的實現,先上 吧。抽象類和實現的實體,與靜態工廠一樣。抽象類 abstract cl...