posts - 176, comments - 240, trackbacks - 0, articles - 7

          結(jié)構(gòu)的消解

          Posted on 2007-09-02 09:45 canonical 閱讀(835) 評(píng)論(3)  編輯  收藏 所屬分類: 設(shè)計(jì)理論
              程序中大量的工作其實(shí)都是在定義結(jié)構(gòu)以及結(jié)構(gòu)之間的關(guān)系. 一般情況下我們應(yīng)該識(shí)別出結(jié)構(gòu),并把它們封裝到函數(shù),對(duì)象和組件中去. 但是封裝并不永遠(yuǎn)都是有利的. 將某個(gè)結(jié)構(gòu)獨(dú)立出來(lái), 在某種程度上也就割裂了它和其他元素之間的關(guān)系, 這會(huì)引發(fā)結(jié)構(gòu)融合的障礙, 也會(huì)造成思維上的負(fù)擔(dān). 事實(shí)上如果程序整體具有足夠的可理解性和概念穩(wěn)定性, 我們并不需要獨(dú)立識(shí)別出什么子部分. 一個(gè)簡(jiǎn)單的例子是數(shù)組循環(huán). 一般情況下我們應(yīng)該盡量把循環(huán)查找等操作封裝到函數(shù)中, 避免多重循環(huán)嵌套時(shí)產(chǎn)生過(guò)于復(fù)雜的代碼塊. 但是如果數(shù)組或者語(yǔ)言本身提供了each, map等函數(shù)式操作符,則這種封裝需求就大大減弱了.
              隨著系統(tǒng)結(jié)構(gòu)的日益復(fù)雜化, 在系統(tǒng)中會(huì)積累大量的背景知識(shí).此時(shí)當(dāng)我們需要完成一個(gè)功能的的時(shí)候, 往往不再需要指定所有的信息, 而只需要指定背景知識(shí)之外的部分信息即可. 例如在界面上通過(guò)一個(gè)分頁(yè)表格來(lái)顯示實(shí)體列表這樣一個(gè)功能, 在Witrix平臺(tái)中通過(guò)模型驅(qū)動(dòng)的標(biāo)準(zhǔn)頁(yè)面即可自動(dòng)完成. 一般的定制需求往往是過(guò)濾顯示部分?jǐn)?shù)據(jù), 在表格行上增加一些操作按鈕, 定制表格的表頭等. Witrix平臺(tái)實(shí)現(xiàn)這些需求并不需要封裝出一個(gè)獨(dú)立的表格組件, 調(diào)用它的屬性修改方法等, 而是把定制部分嵌入到BizFlow的配置中, 這里并沒(méi)有明確的結(jié)構(gòu)界限.
            <biz id="default">
              <filter>
                 <eq name="status" value="1" />
              <filter>
               <tpls>
                  <tpl id="thead>
                   <thead>
                    <tr rowspan="2">...</tr>
                    <tr>...</tr>
                   </thead>
                  </tpl>
                  <tpl id="rowOps">
                    <ui:FlatButton .../>
                  </tpl>
               </tpls>
                其他與表格無(wú)關(guān)的信息
            </biz>
            注意到對(duì)于我們理解業(yè)務(wù)而言, 我們并不需要知道表格具有分頁(yè), 排序, 隔行變色等功能. 所有和業(yè)務(wù)相關(guān)的代碼聚集到BizFlow文件中, 它們構(gòu)成一個(gè)可以獨(dú)立理解的整體, 在此過(guò)程中也通過(guò)背景知識(shí)實(shí)現(xiàn)了大量結(jié)構(gòu)的消解.

          Feedback

          # re: 結(jié)構(gòu)的消解  回復(fù)  更多評(píng)論   

          2007-09-03 09:28 by dennis
          隱隱約約,動(dòng)態(tài)語(yǔ)言在消解結(jié)構(gòu)上的具有得天獨(dú)厚的優(yōu)勢(shì)

          # dalu0756.cn網(wǎng)上開(kāi)店系統(tǒng),QQ:495198971  回復(fù)  更多評(píng)論   

          2007-09-10 16:50 by pfind365
          dalu0756.cn網(wǎng)上開(kāi)店系統(tǒng),QQ:495198971

          無(wú)需專業(yè)知識(shí)就可以輕松管理建設(shè)自己獨(dú)立的網(wǎng)絡(luò)銷售平臺(tái)!

          只要您會(huì)打字,就可以方便的建立自己的網(wǎng)上商店,開(kāi)展業(yè)務(wù)!

          # re: 結(jié)構(gòu)的消解  回復(fù)  更多評(píng)論   

          2008-06-12 14:16 by 連連看下載
          結(jié)構(gòu)的復(fù)雜讓人頭痛
          主站蜘蛛池模板: 巩义市| 长泰县| 宜川县| 南城县| 海宁市| 定日县| 罗田县| 紫阳县| 和龙市| 云浮市| 南涧| 诸城市| 合江县| 铜梁县| 贵溪市| 晋中市| 和硕县| 安西县| 望谟县| 仪征市| 青铜峡市| 县级市| 潜江市| 吴桥县| 襄樊市| 文水县| 湘阴县| 科技| 日照市| 阿城市| 平武县| 旬阳县| 黎平县| 广宗县| 怀仁县| 巢湖市| 扬中市| 上高县| 宝应县| 新巴尔虎左旗| 姜堰市|