<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 176, comments - 240, trackbacks - 0, articles - 7
        判斷和循環(huán)是程序中最基本的語句結(jié)構(gòu)。而在vonNeumann體系架構(gòu)下,循環(huán)是對(duì)集合進(jìn)行操作所需的基本步驟。一個(gè)有趣的事實(shí)是,函數(shù)式語言所宣稱的 生產(chǎn)力的來源很大程度上在于集合操作的便捷性。在數(shù)學(xué)中我們通過張量分析,泛函分析等可以清楚地意識(shí)到集合之間的相互作用是可抽象的,是可以獨(dú)立理解的, 即我們可以在不涉及具體基元結(jié)構(gòu)的層面上獨(dú)立的定義并執(zhí)行集合運(yùn)算。如何將這種概念獨(dú)立性在框架層面展開是一個(gè)非常深刻的命題。
        在基元結(jié)構(gòu)上應(yīng)用基礎(chǔ)操作p(d)這一微觀場景一般情況下是容易理解并實(shí)現(xiàn)的, 但通常程序中所定義的大量邊界是基于集合變量的, 因此很多代碼都是封包和解包操作, 在層層嵌套的循環(huán)結(jié)構(gòu)深處我們才能發(fā)現(xiàn)真正具有業(yè)務(wù)價(jià)值的基元結(jié)構(gòu). 將集合操作提升到系統(tǒng)層,減少或簡化在應(yīng)用層需要顯式編制的循環(huán)結(jié)構(gòu)是框架設(shè)計(jì)層面需要考慮的問題.
        一個(gè)最基本的方法是盡量定義通用的同構(gòu)操作, 避免構(gòu)造中間集合. 例如前后臺(tái)之間通過json等通用協(xié)議交換復(fù)雜結(jié)構(gòu)的對(duì)象, 避免定義特殊的中間處理過程. 一個(gè)與之相配合的重要技術(shù)手段是通過類查詢語句(描述方式)直接構(gòu)造特定的集合. 例如prototype.js中提供的$$('div div.myclass').each(op)這樣的處理方式顯然要比在循環(huán)過程中基于特定條件過濾要方便的多. 而在AOP操作中切點(diǎn)的集合定義方式也是其提供的核心價(jià)值之一. 與集合操作相適應(yīng)的一種代碼風(fēng)格是流式設(shè)計(jì)(stream), 這正是jQuery試圖鼓吹的主要價(jià)值(雖然我個(gè)人認(rèn)為它有些走極端). 流式設(shè)計(jì)的核心結(jié)構(gòu)實(shí)際上是 x += dx, 它不需要集合是一次性構(gòu)造的, 便于支持一種逐步部分修正的概念模型.
        為了支持集合的隱式構(gòu)造, 我們需要以通用的方式定義元素到集合的組裝規(guī)則. 在Witrix平臺(tái)的前臺(tái)js框架中我們定義了由獨(dú)立的html組件到復(fù)合查詢條件的拼接規(guī)則, 定義了由每個(gè)html組件的數(shù)據(jù)校驗(yàn)函數(shù)到整個(gè)form的數(shù)據(jù)校驗(yàn)函數(shù)之間的組裝規(guī)則, 定義了由單個(gè)html組件提交參數(shù)到整個(gè)form提交參數(shù)之間的組裝規(guī)則. 在Witrix平臺(tái)的標(biāo)準(zhǔn)界面上, 框架本身的編制基于js.query.buildCondition(frmQuery), js.validate.validateForm(frmUpdate), ajax.addForm(frmUpdate)等少量集合操作進(jìn)行, 在不同的應(yīng)用場景下, 我們只需要關(guān)心每一個(gè)字段如何顯示, 提交哪些屬性, 而由系統(tǒng)負(fù)責(zé)將它們自動(dòng)組裝并在后臺(tái)進(jìn)行分派. 面向不同的應(yīng)用, 框架代碼不需要做出任何修改, 確保了系統(tǒng)結(jié)構(gòu)的可重用性.
       Witrix平臺(tái)的后臺(tái)處理模型中定義了實(shí)體化過程, DaoWebAction基于CRUD等原子操作定義了批量提交, 數(shù)據(jù)導(dǎo)入導(dǎo)出等復(fù)合的甚至是嵌套的集合操作. 在不同的應(yīng)用中, 我們通過修改bizflow文件中<action id="ViewDetail-default">, <action id="Update-default">等針對(duì)單實(shí)體的業(yè)務(wù)規(guī)則即可適應(yīng)不同的業(yè)務(wù)場景, 而不需要為特定的應(yīng)用重復(fù)編制集合處理過程.
        面向集合+通用組裝規(guī)則是Witrix平臺(tái)設(shè)計(jì)中采用的基本設(shè)計(jì)手法之一, 它使得我們?cè)谝话銘?yīng)用中只需要考慮單實(shí)體,單字段等基元結(jié)構(gòu)上發(fā)生的特定業(yè)務(wù), 大大簡化了系統(tǒng)構(gòu)造過程. 但是也需要認(rèn)識(shí)到從個(gè)體到集合的擴(kuò)張(p(d) -> P(D) )是非平凡的, 集合比個(gè)體的簡單加和要更多, 為此架構(gòu)中需要保留對(duì)集合邊界的識(shí)別能力, 例如需要允許在數(shù)據(jù)導(dǎo)入完成之后執(zhí)行特定的業(yè)務(wù)規(guī)則而不是僅僅針對(duì)每一數(shù)據(jù)行執(zhí)行業(yè)務(wù)規(guī)則.
    主站蜘蛛池模板: 亚洲美女免费视频| 内射干少妇亚洲69XXX| 亚洲综合精品第一页| 亚洲日日做天天做日日谢| 久久综合国产乱子伦精品免费| 黄色片在线免费观看| 亚洲人成电影网站国产精品| 黄人成a动漫片免费网站| 免费欧洲美女牲交视频| 色婷婷精品免费视频| 亚洲熟女乱综合一区二区| 一本久久A久久免费精品不卡| 亚洲熟妇少妇任你躁在线观看无码 | 亚洲av无码片在线观看| 一区二区三区免费电影| 亚洲一区二区三区香蕉| 国产高清不卡免费视频| 亚洲欧洲日韩综合| 好爽…又高潮了免费毛片| 91精品国产亚洲爽啪在线影院| 蜜桃视频在线观看免费视频网站WWW| 老司机亚洲精品影院| 歪歪漫画在线观看官网免费阅读| 国产∨亚洲V天堂无码久久久| 国产亚洲情侣久久精品| 久久久亚洲精品蜜桃臀 | 一个人免费日韩不卡视频| 亚洲国产精品成人久久久| 国内一级一级毛片a免费| 四虎影视在线看免费观看| 亚洲欧洲日韩不卡| 久久精品无码免费不卡| 久久丫精品国产亚洲av| 午夜视频免费成人| jizz在线免费观看| 亚洲高清无在码在线无弹窗| 日本人的色道www免费一区| a级毛片毛片免费观看久潮| 亚洲AV成人无码天堂| 伊人久久亚洲综合| 丁香花免费高清视频完整版|