|Design| Make a cache in your program.

Cache 原意是指存取速度比一般隨機存取記憶體(RAM)快的 SRAM。
但在軟體中,就是指:暫存的機制。
目的是:降低存取一些值的代價。

你可以不用為了某個值,每次都要去問底層。
或者,某些 indicator 更新太頻繁,但你不希望上層跟著一直做無意義的更新,就會需要一個 Cache (很像 Temp 去接著它)。

 
比較常見的例子:
瀏覽器的 Cache 功能是可以減少你抓取資料的時間。

|Design| 非同步的施工方式:等待,Callback,Polling

剛入行時,完全不懂 Polling 是什麼意思。查字典會發現解釋為:投票之類的 XDDD
不能理解阿阿阿!!!

不過後來程式看久比較懂一點點點。(系統場優點之一:拿到晶片廠的程式碼都是高手寫的 XD)

非同步的設計,要如何問到資料呢?

 

1. 等待:

就是 …… 都不做事,等在那邊直到有結果 XD

 

2. Callback:在 C/C++ 會利用 function pointer,寫成 callback function(A),以參數的方式傳入需要用到此函式(A)的函式(X)。等到函式X 執行到需要使用 A的動作時,才會啟動 A。由於在 A需要呼叫 callback 時所需要的東西是固定的(就是在設計 A 時候寫的參數),能給的東西也是固定的!

可以參考:

CallBack Function

|Code| 使用 function pointer 建立 Handler

 

3. Polling:就是一直去問,問到得到答案為止。

缺點很明顯:浪費力氣,浪費資源。
優點 …… 很好寫(?
ref.

程式設計該同步還是非同步?

WordPress.com.

Up ↑