• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-60  評論-98  文章-0  trackbacks-0

            Chapter說到糾纏不清的工程管理器的問題。
            很多模塊都需要在工程打開之時,獲取一定的信息,比如工程是新建的還是打開的,臨時目錄在哪里,工程目錄又在哪里。
            工程管理模塊就像個奶媽,把一系列的信息從XML文件或者從用戶剛剛輸入的信息都進(jìn)來,然后再一個個的去NotifyProjectOpen。工程關(guān)閉之時在挨個通知他們要關(guān)燈了,NotifyProjectClose。怪不得耦合度高啊,全是被動式初始化,能不高嗎?
            修改方案:
            干脆,奶媽下崗吧,最好自己的事,別人的事少管。有了狀況通知專門的部門專門的人去管。ProjectMgr負(fù)責(zé)解析工程文件,并把自己的指針注冊到InterfaceMgr,有MagicString的都可獲取。需要一個通信協(xié)議,讓各位斷奶的模塊來獲取自己需要的東西。有兩種打算,一個就是通過一個結(jié)構(gòu)體,把工程的消息全部裝到里面,誰要誰就調(diào)ProjectMgr的接口要,拿回去自己挑,需要什么就讀出什么來,自個初始化自個。各個數(shù)據(jù)結(jié)構(gòu)對象弄成static的,工程打開或參數(shù)改變的時候ProjectMgr更新它,然后ProjectMgr通知相關(guān)部門讓娃娃們都來取最新的工程信息。第二個打算就是,ProjectManager只提供工程文件的路徑,誰要給誰,誰需要誰自己解析去,這樣把耦合徹底解開了。

            娃娃們還需要長點(diǎn)本事才能做到主動初始化,怎么辦呢?找個好師傅吧。CPlugIn,中間的方法NotifyProjectOpen, NotifyProjectClose都做了是實現(xiàn),全部直接return。誰需要初始化自己,找InterfaceMgr要PrjMgr指針,找PrjMgr要信息,自個初始化自個去。

            誰是相關(guān)部門呢?
            InterfaceMgr人人向他注冊指針,可以兼職。娃娃注冊自己時,同時把自己的父類指針CPlugIn也注冊進(jìn)去。PrjMgr一來通知,InterfaceMgr根據(jù)指針列表全部觸發(fā)。這不是很多態(tài),很命令模式,很OO嗎?

            ----------------------------------------------------------
            剩下的部門是最復(fù)雜的,所有的邏輯都在界面里,實現(xiàn)類只有一個Show。有的部分一個連貫的動作,分解到兩個類中。數(shù)據(jù)庫的接口,層次不清,也很頭痛啊。

            posted on 2008-08-14 17:47 創(chuàng)建更好的解決方案 閱讀(1158) 評論(0)  編輯 收藏 引用 所屬分類: C++專欄軟件設(shè)計
            久久91精品国产91久久麻豆| 国产农村妇女毛片精品久久| 久久精品国产久精国产果冻传媒| 久久久WWW免费人成精品| 久久无码中文字幕东京热| 国产亚洲精品久久久久秋霞 | 亚洲国产精品久久久久网站| 亚洲嫩草影院久久精品| 亚洲日韩欧美一区久久久久我| 久久精品国产亚洲αv忘忧草| 久久99热国产这有精品| 国产精品成人久久久| 久久国产精品久久久| 2021国产精品久久精品| 伊人久久免费视频| 漂亮人妻被黑人久久精品| 久久不见久久见免费影院www日本| 精品伊人久久大线蕉色首页| 中文字幕久久欲求不满| 久久久久久亚洲Av无码精品专口| 欧美粉嫩小泬久久久久久久| 88久久精品无码一区二区毛片| 精品久久久无码21p发布 | 久久精品国产亚洲AV久| 国产精品久久久久一区二区三区| 久久精品人人做人人爽97| 伊人 久久 精品| 久久一区二区三区免费| 91久久福利国产成人精品| 国产精品久久久久9999| 激情伊人五月天久久综合| 久久香蕉国产线看观看精品yw| 2021最新久久久视精品爱| 亚洲伊人久久综合影院| 一级做a爰片久久毛片免费陪| 日韩电影久久久被窝网| 久久天天躁狠狠躁夜夜2020老熟妇| 亚洲午夜久久久精品影院| 99久久99这里只有免费的精品| 国产V亚洲V天堂无码久久久| www久久久天天com|