<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-11-22 17:59 canonical 閱讀(662) 評論(2)  編輯  收藏 所屬分類: 設計理論

        經濟學的核心概念是合同(contract),多個利益主體(具有不同的價值目標)在交互中達成一致協議。這本質上是個多目標優化的問題。這與物理學的精 神是有著本質區別的。物理學傳統上認為世界是完美的,存在著唯一的真理。根據Lagrange原理,最低能量原理等,物理世界總是在眾多可比的備選結構中 選擇那唯一最優的結果。在經濟學中不存在唯一的價值取向,并不是所有的事物之間都是能夠進行比較并排出座次的。比如,我們大多數人會認為10個老婆餅比一 個老婆餅好,10個蔥油餅比一個蔥油餅好,10個老婆餅加10個蔥油餅比一個老婆餅加一個蔥油餅好,但是10個老婆餅和10個蔥油餅之間如何比較,卻是沒 有確定的結果的。數學上,我們說可以建立偏序(partial order)但無法建立全序。因為多個利益主體對同一事物的評價是不可比的(不同的),因而可以產生交換.交換是一個互惠互利的過程. A交出了部分老婆餅換來了蔥油餅,因為A覺得自己的老婆餅很多,還是蔥油餅更有吸引力一些,而同樣B認為自己的蔥油餅很多,他寧肯再要一些老婆餅. 通過一番討價還價的交互過程,我們可以達到所謂的Pareto有效(optimal): 在最終的優化配置中,沒有人能夠在不使別人受損的情況下使自己得益. 即繼續交換下去,A或B中的一個就會覺得不值得了. 注意到經濟學的這種雙贏性質與軍事學和權謀術也是不同的,權謀講求爭鋒相對, 損人即利己, 進攻是最好的防守等等.
       
        多目標優化,意味著我們在一族矢量中尋找最優的一個,盡管在每個維度上我們都能很容易的作出比較和判斷,但綜合起來卻需要反復的權衡。在凸分析 (Convex Analysis)中標量化(Scalarization)是尋找Pareto有效點的常用方法. 即定義一個價格矢量, 優化時考慮總體價格. 價格的存在意味著市場的存在, 意味著我們在考慮優化問題的時候,可以只考慮自身與市場的交互,而不用考慮眾多其它利益主體的存在(類似于物理中的場方程). 理論上可以證明,在均衡價格處可以實現Pareto最優。


        說了這么多經濟學,它和軟件有什么關系呢。稍微留意一下就會發現,現在軟件中越來越強調合同和涉眾(stakeholder)利益了(參考use case)。早期,面向過程編程時,系統的目標比較單一:滿足當前系統功能需求。基本上系統中的每一個函數在編寫的時候都服從于一個目標,即當前系統的運 行。在編制的時候多半都想著向著最終的目標邁進,系統的各個部分之間是精確(detailed)匹配的。(想想VB的代碼吧)。采用面向對象的思想方法之 后,系統中出現了多個利益的實體,它們定義并保護著自身的利益。系統的目標不再是完成功能,而是實現用戶價值,穩定運行,便于維護等多重價值目標。在面向 對象以后,我們經常會發現,最終我們實現的功能點會多于面向過程開發的時候。很多對象函數在當前系統中最終并沒有調用,但考慮到重用性和完備性等,我們還 是編寫了相應的代碼。很多商用組件對象的功能集更是大得驚人,我們永遠只是用到其中的一小部分。系統的架構便是由對象之間相互協作并相互競爭支撐起來的.   在面向對象設計中, 我們說對象對外暴露的接口是與外部世界達成的contract, 而接口函數則反映了一次交互過程.有時我們采用如下方法, 讓調用雙方都能平等的獲得處理機會.
    class A{
       void someFunc(B b){
          b.someFunc();
       }
    }

        XP敏捷編程強調快速迭代, 但絕不意味著不進行架構設計. 按照級列設計理論, 復雜性是分級的, 我們要采用滿足當前需求的最簡單的設計,而不是絕對意義上的最簡單的設計. 而且簡單與完備性還是兩回事,雖然簡單,但是功能仍然要是完備的. 這是個架構性問題. 迭代是個逐步精化的過程,而很少是格式塔式的革命. 在XP中我們應該更加強調architecture centric.
        重構是不影響系統外部特征的情況下,對系統內部結構的修改. 但我們現在要從結構A走向結構B,重構的路徑到底在哪里。推翻了重新寫并不是重構。雖然XP強調當前,不要過多考慮未來,但這只是個重點問題,并不意味著 不考慮未來,我們需要為復雜性的方向性發展保留出一定的通道。實際上重構的過程中,架構本身對應的概念是基本不變的,只是結構在調整,在細化。如果你大腦 癡呆,先天遺傳不利,無論怎么重構知識結構大概也難以避免被淘汰的命運. 重構也會陷入Pareto最優點,因為一些對象作為即得利益者,讓它放棄自己的功能集并不是那么容易的事情。它會爭辯說,我和XX建立了關聯,基于我的 YY功能,ZZ已經作了大量開發而且已經發布出去。。。

        目前軟件設計中沒有"市場"的概念, 在權衡系統功能歸屬的時候,我們只能兩兩進行: 這個功能放在對象A里好呢還是放在B里好呢. 是一個相當費力的過程.
       
        最后,再為物理學說句話。表面上看起來,物理學是由最優化原理支配的,但它還要受到所謂對稱性的制約。很多時候當我們面臨兩難選擇的時候,對稱性會幫助我 們作出選擇。對稱性(根據Nother定理,守恒律也是對稱性的一種)維護了物理學內部的結構張力。

    Feedback

    # re: [導入]對象與經濟學  回復  更多評論   

    2005-11-23 01:01 by weide
    繼續關注。
    樓主不會是學物理的

    # re: [導入]對象與經濟學  回復  更多評論   

    2005-11-23 10:55 by calvin
    樓主根本是生而知之的圣人~~~
    主站蜘蛛池模板: 久久精品国产免费观看| 国内精品免费视频精选在线观看| 免费毛片a在线观看67194| 久久久久亚洲精品美女| 黄色网址在线免费| 久久久久无码精品亚洲日韩| 久久久久久国产精品免费免费男同 | 亚洲中文字幕无码专区| fc2成年免费共享视频18| 国产成人综合亚洲AV第一页| 在线观看免费黄色网址| 亚洲国产日韩在线视频| 久久永久免费人妻精品下载| 久久久久亚洲AV无码网站| 91福利视频免费观看| 亚洲日产2021三区在线| 成人av免费电影| 美女视频黄a视频全免费网站色| 亚洲一级片内射网站在线观看| fc2成年免费共享视频网站| 亚洲AV色香蕉一区二区| 1000部拍拍拍18勿入免费视频软件 | 亚洲日韩精品无码专区加勒比☆ | 国产福利电影一区二区三区,免费久久久久久久精 | 青青视频免费在线| 一本久久a久久精品亚洲| 99精品视频在线观看免费播放| 亚洲欧洲国产精品久久| 精品免费国产一区二区三区| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 亚洲人成人77777网站不卡| 韩国欧洲一级毛片免费| 国产又黄又爽又大的免费视频| 亚洲精品视频久久| 一本久到久久亚洲综合| 免费看男人j放进女人j免费看| 国产亚洲精品成人AA片| 国产自偷亚洲精品页65页| 久久国产色AV免费观看| 欧洲亚洲国产精华液| 亚洲va国产va天堂va久久|