façade
該模式為一組具有複雜且全面的介面物件提供乙個簡單且特定的介面。
façade模式是以明顯且受限的方式來施加它的策略。使用時必須主動地呼叫它,使用者必須理解該策略的使用含義。
mediator
該模式相對於façade的顯式策略,它是以隱藏的方式來施加策略。
public class textvalidmediator
}});}}
使用時:
validator valid = new validator()
} catch (numberformatexception e)
return "invalid port ";}};
textvalidmediator mediator = new textvalidmediator(text, label, valid);
validator
是乙個介面,子類實現它來滿足具體的校驗規則。
textvalidmediator
為text
新增輸入資料的驗證功能,如果在
text
上輸入,
validator
會對輸入的資料進行校驗,如果有錯誤,就顯示在
label
上。textvalidmediator
為text
註冊了乙個
modifylistener
,一旦text
檢測到輸入有改變,就呼叫
modifylistener
中的方法,通過
validator
物件進行有效性校驗。
text
並不知道
textvalidmediator
的存在,也不知道要對其進行的校驗規則,
textvalidmediator
是悄悄的把策略施加到
text
上的。
穩固而知新 Observer
observer 該模式的動機是為了在增加新的觀察物件時可以無需更改被觀察的物件,被觀察物件可以保持封閉。public class observable private void fireobserver context是乙個gui應用程式的唯一上下文例項,用來和服務端互動資訊。taskview是用...
溫故而知新
堆排 建立堆,維護堆的屬性 一次拿掉乙個,然後維護屬性,二分的結構 使得維護屬性只要logn的時間 冒泡也是一次拿走乙個 但是線性的結構 每次沒有節省時間 快排 一次確定 乙個值的位置,然後二分,縮小問題的範圍。floyd找最短 一次更新 將狀態改為經過固定點的 最短距離 迴圈 遍歷每個點,則結果為...
溫故而知新(一)
一 c 基礎語法 1.注釋符 b.解釋所寫的 2.vs中常用的快捷鍵 3.變數 用來在計算機中儲存資料 b.要給儲存空間起乙個有意義的名字,方便我們以後的使用 b.變數型別 變數名 值 4.命名規則 5.號的使用 6.佔位符的使用 先挖坑,再填坑 異常 exception 在程式執行的過程中,由於某...