<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

    [導入]程序中的結構表達

    Posted on 2005-12-28 22:49 canonical 閱讀(996) 評論(0)  編輯  收藏 所屬分類: Witrix開發(fā)平臺

      循環(huán)結構是imperative language的重要組成部分,一般也是程序中比較難以理解的部分。特別是沒有軟件技術背景的朋友,明顯對于循環(huán)的理解力較弱。在Von  Neumann體系結構中,賦值語句是必須的,因而引出了存儲概念,也引入了時間概念,因為我們可以區(qū)分出賦值前和賦值后的時刻。引入時間之后,本質(zhì)性的 影響是程序串行化,而強迫我們從并行思考轉入串行處理。很多時候這是一種不自然的情況,在我們的自然思維中,我們看到的或想到的也許只是一組靜態(tài)結構,但 在程序中表達的時候卻往往不可避免的需要引入一個動態(tài)過程。而我們控制動態(tài)結構的能力總是不足的。最近對于函數(shù)式語言及處理風格的越來越強烈的要求可能也 從側面反映了大家對這種結構失配的不滿。
       但是串行思維毫無疑問也是我們正常思維模式的一部分(當然這種思維模式在多大程度上是因為Von Neumann 體系造成的,也是個很有趣的問題)。例如在頁面渲染的時候,我們可能希望預先把所有用到的數(shù)據(jù)都轉載到內(nèi)存中,賦予不同的變量名,然后在頁面模板中我們只 要知道如何把這些數(shù)據(jù)變量表現(xiàn)出來就可以了。先做完A再做B,這是分層的思想,也是典型的串行思維。而基于數(shù)據(jù)進行處理,也是Von Nenuman體系的基本思想。但是如果處處要求預先計算并賦值,往往增加了很多額外的步驟(glue code),并且增大了對內(nèi)存(計算空間)的需求。分層之后,還存在著一個各個層次之間結構匹配的維護問題。
       面向對象在結構表達方面是一種 巨大的進步。經(jīng)過多年的發(fā)展,我們在表達靜態(tài)結構關系方面已經(jīng)是駕輕就熟了。通過屬性關聯(lián),我們可以沿著對象圖進行結構遍歷。如果使用成員函數(shù),在這種遍 歷過程中還可以包容更多的動態(tài)特性。而在數(shù)據(jù)持久化方面,ORM的盛行也在一定程度上證明了對象圖的有效性。使用對象圖可以大大降低對賦值語句的需求,減 輕了明確建模的壓力(每一次賦值都要求著一個明確的變量名,一個概念),也緩解了Von Neuman體系結構的束縛。例如,我們不再需要
     var user = loadUser(userId);
      var userOrgnization = loadOrgnization(user.orgId);
      var userOrgnizationName = userOrgnization.name
    而是直接使用  user.orgnization.name

        目前面向對象所表達的大多數(shù)結構還是基于數(shù)據(jù)語義的,而我們對于函數(shù)等高階結構的控制能力仍然較弱。設計模式在這方面提供了一些經(jīng)驗,但還是遠遠不夠的。 在我們經(jīng)驗不多的時候,我們需要依賴于明確的實體數(shù)據(jù),而在我們的理解逐步深入之后我們就可以通過Visitor, Iterator等模式支撐起整個結構。高階結構比低階結構難以控制,一方面是因為動態(tài)性本身比靜態(tài)性難以理解,另一方面函數(shù)對信息的使用和流動是一種主 動約束,如果約束的不正確,會造成結構的失效。而數(shù)據(jù)的使用是完全開放的,很多決定都可以延遲到使用時刻決定。當然,開放性帶來的問題也早就眾所周知了: 不受限制的使用將導致無法控制的困境。在基礎的數(shù)據(jù)層封裝方面,一般我并不提倡大量使用domain model似的具有豐富語義的數(shù)據(jù)對象。因為數(shù)據(jù)是共享的,應該存在一個開放的數(shù)據(jù)層,在其上可以建立業(yè)務對象。混雜在一起會限制系統(tǒng)的演化。
    主站蜘蛛池模板: 亚洲av无码片区一区二区三区| 亚洲不卡无码av中文字幕| 国产A在亚洲线播放| 免费无码午夜福利片| 国产成人涩涩涩视频在线观看免费| 亚洲av无码不卡久久| 9420免费高清在线视频| 亚洲视频在线观看网址| 日本在线高清免费爱做网站| 亚洲欧洲日本国产| 在线免费观看一区二区三区| 亚洲Av永久无码精品一区二区| 国产一级淫片视频免费看| 亚欧洲精品在线视频免费观看| 亚洲五月综合缴情在线观看| 日韩成人免费视频| 亚洲一区在线视频| 国产无遮挡裸体免费视频| jizz免费在线观看| 久久亚洲日韩精品一区二区三区 | 羞羞视频在线观看免费| 亚洲中文字幕无码一久久区| 久久久久久久99精品免费观看| 老司机亚洲精品影院| 日韩特黄特色大片免费视频| 野花视频在线官网免费1| 亚洲日韩欧洲无码av夜夜摸| 无人在线观看免费高清视频| 亚洲av无码兔费综合| 亚洲国产另类久久久精品小说| 可以免费看的卡一卡二| 一级大黄美女免费播放| 亚洲白色白色在线播放| 亚洲国产精品人人做人人爱| 91高清免费国产自产| a一级爱做片免费| 亚洲精品无码久久久久秋霞| 亚洲国产成人久久综合一| 亚洲精品国产精品乱码不卡| 99在线视频免费观看视频 | 国产自产拍精品视频免费看|