<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 2007-12-15 19:46 canonical 閱讀(1410) 評論(0)  編輯  收藏 所屬分類: 設計理論
        我在各種場合一直都在強調結構問題是獨立的,在程序語言之外存在著獨立的,可研究的,富有成效的結構問題。http://canonical.javaeye.com/blog/147424 在這個方向上更進一步,我們注意到所有的代碼并不是天然出現的,而是由人所編制的,因此代碼世界內部并不構成封閉的,自足的某個世界。代碼中的結構問題并不是由代碼本身完全解決的,即在代碼之外仍然存在著技術上可研究的結構問題。
        我們在編制代碼的同時也在編制著大量的說明文檔。這些文檔描述了代碼片斷之間的相互關系,描述了代碼未來的擴展方向,描述了代碼之間的可能的交互方式,同時也描述了針對現有代碼實現的很多具體約束。例如我們在文檔中約定某個量要在10和20之間,但在代碼中卻不一定顯式進行了判斷。針對代碼結構的很多具體約束條件和相關性描述可能只在文檔中體現,只在程序員的頭腦中存在,而并不一定忠實的在代碼結構中得到表達。
        我在設計領域基本持有一種物理實在論,即某種技術相關的約束應該在技術世界中通過技術手段得到表達。只是這里的技術手段卻不一定指在應用中加上特定的代碼實現,雖然我們在代碼實現中更直接的表達設計要求無疑是需要提倡的。為了在程序中有效的維護結構相關性,我們并不一定需要抽象出所有可能重用的代碼,并不一定需要確保某一概念在程序中只有精確的唯一的表達。程序中難以直接精確表達的弱關聯,仍然可以通過開發/設計工具等技術手段得到有效的維護。我們需要保證的是代碼世界中知識的自恰性,而自恰性并不等于唯一性。http://canonical.javaeye.com/blog/33788
        在Witrix中我們采用一種物理模型驅動的開發方式,http://canonical.javaeye.com/blog/29412 由pdm模型出發,自動生成hibernate的hbm文件,java實體類,元數據meta文件,前臺Action注冊文件等。生成的配置文件通過syncWithModel標記與模型保持著穩定的關聯。所有配置文件都支持手工修改,開發工具識別syncWithModel標記,當pdm模型發生變化的時候,工具自動將變化信息同步到各個配置文件中。注意到這里并不是采用一個統一的元數據模型的方式,各個配置文件所表達的信息在一定程度上是重復的,也可能是不一致的。例如后臺數據庫允許保存100個字節,但是前臺meta中我們可能配置只允許錄入20個字節。根據不同應用場景的需要,我們可以在各個層面對每個配置文件進行獨立的調節. 當然,在一般情況下并不存在這種需要。整個開發過程中,信息表達的自恰性并不是在應用程序代碼中得到定義的,而是因為開發工具的存在而在技術上得到保證的。放松模型之間的唯一匹配要求,我們可以得到更加豐富,更加靈活的軟件結構。實際上我認為RoR(RubyOnRails)采用直接映射的ActiveRecord的方式雖然有效保證了系統變動中知識的一致性,但是如果不允許在各個層面上都能夠自然的定義某種偏離,它在復雜應用中的價值就要打上大大的折扣。

    主站蜘蛛池模板: 免费国产成人α片| 国产永久免费高清在线| 亚洲成av人片在线观看天堂无码| 全部一级一级毛片免费看| 中文字幕亚洲天堂| 无码国产精品一区二区免费式直播 | 亚洲福利一区二区| 成人免费男女视频网站慢动作| 人禽伦免费交视频播放| 精品无码一区二区三区亚洲桃色| 国产无遮挡吃胸膜奶免费看视频| 曰批全过程免费视频在线观看无码| 亚洲人成图片网站| 久久久青草青青国产亚洲免观| 亚洲欧洲国产成人精品| 免费无遮挡无码视频网站| 你是我的城池营垒免费看| 亚洲一卡2卡三卡4卡无卡下载| 亚洲色婷婷一区二区三区| 毛片a级毛片免费播放下载| 国产免费区在线观看十分钟| 久久精品国产亚洲av麻豆图片| 亚洲国产综合久久天堂| 97国产免费全部免费观看| jizz中国免费| 亚洲一区二区三区成人网站| 亚洲Av无码专区国产乱码DVD| 国产免费无遮挡精品视频| 久久久精品2019免费观看| 精品97国产免费人成视频| 亚洲国产精品无码观看久久| 亚洲综合激情九月婷婷| 国产亚洲精品国看不卡| 国产gav成人免费播放视频| 免费在线看v网址| 99久久免费观看| 国产在线国偷精品免费看 | 久9热免费精品视频在线观看| 欧洲美女大片免费播放器视频| 亚洲午夜成人精品无码色欲| 亚洲黄色一级毛片|