隨筆-19  評論-2  文章-1  trackbacks-0
          門面模式:
                  在外界訪問要訪問多個內(nèi)部系統(tǒng)時,并且他與這些內(nèi)部系統(tǒng)有著復(fù)雜的關(guān)系時,我們則可以用門面模式來解決這樣的問題。
                   門面模式他只是提供一個可以共外界方便訪問內(nèi)部子系統(tǒng)的一個接口,他并不會對子系統(tǒng)進(jìn)行擴(kuò)展,他只提供子系統(tǒng)所具有的方法。對外界來說,他是一個子系統(tǒng),但是內(nèi)部的子系統(tǒng)并不知道有這么一個類。例如:一個學(xué)生要去圖書館借書,這里有3個表,rule是記錄不同的讀者的借書規(guī)則(如研究生可以借7而本科生只能借4本),publish表是記錄過期未還書的學(xué)生,passwork是記錄圖書館所頒發(fā)過的借書證。如果一個學(xué)生要借書,則他必須要有一個在passwork中存在的借書證,并且沒有在publish中的情況,則可以保證向該學(xué)生提供借閱,但是借閱的書則要按rule中的規(guī)則來進(jìn)行。所以一個學(xué)生client借書必須訪問這些類,為了便于管理,我們提供一個  FacadeFactory類來處理,這個類提供了所有client向子系統(tǒng)訪問的方法。這樣對于client來說就輕松多了,也便于我們維護(hù)代碼了。但是FacadeFactory不能夠向client提供內(nèi)部子系統(tǒng)不存在的方法。
                  由于一個系統(tǒng)中所需要的只需要一個實(shí)例,則我們可以把門面類設(shè)置為單例類,如上面的FacadeFactory,他應(yīng)該設(shè)置為一個單例類,這樣就不會發(fā)生多個人同時借一本書了。
                 
          posted on 2005-08-12 19:38 sky 閱讀(235) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 喜德县| 建水县| 江西省| 江川县| 泸定县| 京山县| 沛县| 化德县| 广汉市| 灌云县| 阆中市| 盐池县| 南安市| 柳州市| 曲松县| 翼城县| 屏南县| 定安县| 合阳县| 故城县| 北宁市| 双辽市| 辉县市| 永春县| 余干县| 巴林右旗| 奉贤区| 富裕县| 栾城县| 岑巩县| 枝江市| 当涂县| 霸州市| 浪卡子县| 怀远县| 靖西县| 岐山县| 卢龙县| 凤阳县| 公安县| 兴文县|