細(xì)心!用心!耐心!

          吾非文人,乃市井一俗人也,讀百卷書,跨江河千里,故申城一游; 一兩滴辛酸,三四年學(xué)業(yè),五六點(diǎn)粗墨,七八筆買賣,九十道人情。

          BlogJava 聯(lián)系 聚合 管理
            1 Posts :: 196 Stories :: 10 Comments :: 0 Trackbacks
          考慮您要撰寫一個(gè)Web Mail程式,您手上已經(jīng)有一些已經(jīng)開發(fā)好的元件(Component),像是開發(fā)Web Mail所需要的SMTP處理類、允許上傳附檔的FileUpload類,以及Web安全相關(guān)的API、其它相關(guān)的Package等等。

          當(dāng)您拿到一些現(xiàn)成的元件,並打算在您的應(yīng)用程式中使用它們的話,您不應(yīng)該直接將這些元件耦合至您的應(yīng)用程式上,例如:
          Facade

          上面的作法會(huì)讓您的應(yīng)用程式直接與多個(gè)元件耦合,這種作法不但與元件的依賴度高,日後要修改應(yīng)用程式本身,或是更換掉依賴的元件都有困難。

          您應(yīng)該定義一個(gè)Facade介面,在當(dāng)中定義好商務(wù)邏輯,例如寄送附件檔案的方法(method),然後在一個(gè)實(shí)現(xiàn)類中,組合您手邊的元件,使其達(dá)成您所希望的商務(wù)行為,例如:
          Facade

          如上圖所示的,您的應(yīng)用程式本身將不直接依賴於您的元件,而是依賴一個(gè)介面,當(dāng)您想要更改某個(gè)商務(wù)行為的實(shí)作時(shí),只要修改實(shí)現(xiàn)的類就可以了,應(yīng)用程式本身不用作任何修改。

          Facade模式的結(jié)構(gòu)如下:
          Facade

          Facade模式隱藏了各個(gè)元件之間的合作行為,以及元件本身的操作與設(shè)定細(xì)節(jié),固而必失去了一些直接操作元件的方便性,所以對(duì)於喜歡追求與操作細(xì)節(jié)的程式設(shè)計(jì)人員而言,不會(huì)很喜歡透過Facade來操作背後的元件,所以您的Facade介面設(shè)計(jì),通常要在元件依賴性及元件的支接操作性之間作個(gè)平衡。

          posted on 2007-04-17 10:38 張金鵬 閱讀(282) 評(píng)論(0)  編輯  收藏 所屬分類: Structural 模式
          主站蜘蛛池模板: 大理市| 龙里县| 开江县| 裕民县| 离岛区| 郯城县| 读书| 东乡县| 奉节县| 凌海市| 连江县| 弋阳县| 浦城县| 铁岭县| 莫力| 开鲁县| 彩票| 萨迦县| 麻城市| 伊川县| 聊城市| 唐河县| 新河县| 沙坪坝区| 郸城县| 固安县| 蕉岭县| 中卫市| 遵义县| 繁昌县| 乐至县| 土默特左旗| 隆尧县| 双流县| 开鲁县| 修水县| 阜南县| 东源县| 筠连县| 札达县| 湟源县|