Re: [問題] Facade Pattern
※ 引述《hanta (向下一站出發)》之銘言:
: 不知道貴版可不可以問Design Pattern的問題 XD
: 如果不可以的話,版主就不用客氣,刪了它吧 ^^"
: The Facade object should be a fairly simple advocate or facilitator. It
: should not become an all-knowing oracle or "god" object.
: 我在某個網站上看到有關於Facade Pattern的討論,可是上面這段話實在不是很理解它
: 到底在說什麼,所以想請問一下對Design Pattern有研究的大師可以給我解惑一下。
: 感謝~!
我不是大師,只是個管板的小僕。
Facade Pattern 是任一個中大型的專案都會用到的一種 Design Pattern
在把多個瑣碎的小物件拼裝成系統的一套流程時
會設定每個小物件的屬性,並且執行每個小物件的功能
當小物件多而雜的時候,這一連串的設定和功能會變得非常麻煩
而事實上我們真正關心的是:
這一連串的小步驟到底對我們的「工作產品」有什麼樣的意義。
所以 Facade Pattern 把這些小步驟封裝在一個類別裡面
以一個或少數幾個「方法」來描述這整串步驟
每次我們想要做這一連串的小步驟,只要呼叫這個「方法」就可以達成目標了!
舉例而言:
某個 BBS 連線軟體上面的按鈕為「連線到 PTT」。
雖然只有一個命令,但是要完成它的話,要說還不太簡單
必須先建立 IP, Port, 連線到遠端機器之後使用 Telnet Protocal 進行溝通
再把收到的訊息畫到圖形使用者介面上,其中還牽扯到解析封包的內容。。。
為了簡化「連線到 PTT 」的程式碼
我們套用 Facade Pattern 把上述瑣碎的步驟封裝在一個類別中
下次要「連線到 PTT」的時候,就只要呼叫這個新類別的方法就可以了!
附帶一提,Facade Pattern 很像在做抽象化
把不重要的事情隱藏起來,而去關心真正重要的部分。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.248.127.91
→
09/19 01:14, , 1F
09/19 01:14, 1F
討論串 (同標題文章)
OOAD 近期熱門文章
PTT數位生活區 即時熱門文章
-4
30