重新複習了一遍門面模式,又有來新的體會,古人云:讀書百遍,其義自見,不無道理。所以,一定要多思!多動手,你才會成長。
來說說什麼是門面模式:
大家肯定都知道醫院(不知道的童鞋,我無能為力,老衲道行不高,表示救不了你,去找觀世音菩薩吧,哦!),你去醫院看病,一般得經過4個模組,即:**->看病->取藥->收費. 大家肯定多這些模組很熟悉了,但是有的人有可能不熟悉,對把,這時候我們就需要乙個接待員來負責接待他們,
清單1:**
public class **
}
清單2:看病
public class 看病
}
清單3:取藥
public class 取藥
}
清單4:收費
public class 收費
}
清單5:接待員
public class 接待員
}
清單6:模擬場景
public class 醫院
}
清單7:輸出
您好,我是醫院接待員:
**看病
取藥收費
可以看出,如果病人需要看病,只需要找接待員即可。
解答:其實是這樣的,病人去醫院看病,比如得了乙個**病,那他應該到**科去看。但是醫院裡面有很多科,比如:心臟外科,神經外科,泌尿外科,骨科,普通外科,麻醉科。病人可能第一次去醫院,他**懂那麼多!得了**病直接奔心臟外科去了,這。。。。。(老衲道行不高,也救不了他!)
但是,對
業務很熟悉的接待元那可就不一樣了,他立馬就可以知道去哪個科看病。
好了,假如病人知道自己去**科看病,**科的醫生幫他看完病,讓讓在門口等著化驗結果,化驗的過程需要安靜,可這個病人可能很土,又不懂規矩,以為醫生不理會他,直接衝進去找醫生理論。醫生表示很無奈!但是有了接待員,就不一樣了,他會引導病人!醫生在化驗這個過程,接待元會告訴他
不需要知道!看病這個模組內部的方法細節就對病人透明!
**清單:**
public class **
}
**清單:看病(**有變動)
public class 看病
public void ohter_operation()
}
**清單:取藥
public class 取藥
}
**清單:收費
public class 收費
}
**清單:接待員
public class 接待員
}
**清單:模擬場景
public class 醫院
}
我們可以看出,有些是模組內部的方法(看病中的other_operation(),不需要被外部的呼叫者知道),使用門面模式,就能很好的做到這一點!
以上是我一字字敲出來的,**請宣告出處,謝謝!
設計模式 門面模式
一 門面模式概述 門面模式是物件的結構模式,外部與乙個子系統的通訊必須通過乙個統一的門面物件進行。門面模式提供乙個高層次的介面,使得子系統更易於使用。1 門面角色 facade 這是門面模式的核心。它被客戶角色呼叫,因此它熟悉子系統的功能。它內部根據客戶角色已有的需求預定了幾種功能組合。2 子系統角...
設計模式 門面模式
門面模式 外觀模式 將子系統中的一組介面提供乙個一致的介面,外觀模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。1 它對客戶遮蔽子系統元件,因而減少了客戶處理的物件的數目並使得子系統使用起來更加方便。2 它實現了子系統與客戶之間的松耦合關係,而子系統內部的功能元件往往是緊耦合的。3 如果...
《設計模式》 門面模式
提供乙個門面去呼叫系統各個子模組,客戶端呼叫門面,減少客戶端與系統中各個子模組的互動,鬆散耦合,facade知道各個子模組,而各個子模組不應該知道facade的存在 客戶端也可以直接呼叫各個子模組,有外觀也可以不使用 當需要呼叫系統內部多個子模組的時候,為了避免客戶端分別呼叫子模組,提供乙個門面,讓...