[Design Pattern] 橋接器模式 Adapter Pattern

Adapter => 我不會講台語 透過媽媽當翻譯 間接跟阿公溝通 

              => 媽媽就是 Adapter = 橋接器

 

什麼情況下用的到?

前提: 我想用一樣的方式操作所有東西

要解決的問題: 目標不好用、為了降低與目標的藕合、目標還在開發中可能一直變、我得一直配合他改......

...繼續閱讀 »

[Design Pattern] 觀察者模式 Observer Pattern

觀察者模式 => 我訂閱了一個東西 當他發生變化時 希望他可以通知我 = 執行我肚子的函式

 

所以可知這個Pattern裡面一定有些東西

1. 有一個集合 => 存哪些人訂閱我 => 當我有變化時我才知道要通知誰

2. 訂閱者的是 '被通知的' => 粉絲肚子裡的函式被粉專呼叫

                                        => 當粉專有新貼文時 由粉專通知所有粉絲

3. 通知的方法是粉專來執行所有粉絲肚子裡的某一個函式

...繼續閱讀 »

[Design Pattern] 外觀模式 Facade Pattern

外觀模式 => 把很多子系統包起來 => 對外統一呼叫我就好

 

假設公司內部很亂 每個部門開發自己的子系統

但每件需求一定都是跨部門發生 所以我總得先Call A 部門的程式、再 B 部門的程式、再 C 部門的程式

但實際上怎麼用其他部門的程式都是固定的 我想把他們包裝起來

 

...繼續閱讀 »

[Design Pattern] 代理模式 Proxy Pattern

Proxy => 透過代理 (Proxy) 間接操作真實物件

          => 強調間接性 => 大家都透過 Proxy '間接' 碰真實物件 => 所以所有行為都可以被 Proxy 掌控

也因此什麼時後需要用到 Proxy ?

1. 我想隱藏真實物件到底是誰 

2. 因為是透過 Proxy 間接操作 所以可以在 Proxy 中自己再做一些加工 例如 Cache, 權限, 其他...

...繼續閱讀 »

[報表程式 - 1 ] 單一觸發點

常常我們有一些撈報表資料的需求

我們需要從資料庫裡撈出一些符合某種情況的資料 (觸發點)

然後再根據這些資料 去衍生出更多資料 (來自更多其他的資料表)

再把所有資料拿來做一些計算

最後組裝成我們要的結果

並且以不同的方式進行呈現 (也許寫出成檔案)

...繼續閱讀 »