<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
    樓主根本是生而知之的圣人~~~
    主站蜘蛛池模板: 久久综合九九亚洲一区| MM1313亚洲国产精品| 亚洲精品第一国产综合精品| 亚洲第一成年网站大全亚洲| 亚洲色成人网站WWW永久四虎| 在线aⅴ亚洲中文字幕| 搜日本一区二区三区免费高清视频| 国产精品免费一区二区三区| 久久成人免费播放网站| 成人免费网站在线观看| 久久久久久久亚洲精品| 亚洲网站在线播放| 91麻豆最新在线人成免费观看| 国产又大又粗又硬又长免费| 亚洲av午夜福利精品一区人妖| 在线a亚洲老鸭窝天堂av高清| jizz在线免费播放| 亚洲中文字幕日产乱码高清app| 亚洲中文字幕人成乱码| v片免费在线观看| 亚洲精品乱码久久久久66| 亚洲日韩AV无码一区二区三区人| 中出五十路免费视频| 韩国欧洲一级毛片免费| 亚洲最大成人网色| ww在线观视频免费观看| 中文字幕亚洲第一| 999久久久免费精品播放| 亚洲精品高清在线| a毛看片免费观看视频| 国产成人高清精品免费软件| 亚洲情a成黄在线观看动漫尤物| 深夜a级毛片免费无码| 青青久在线视频免费观看| 亚洲产国偷V产偷V自拍色戒| 美女被免费视频网站| 成人免费视频88| 国产精品免费久久久久电影网| 四虎永久在线精品免费影视| 亚洲中文字幕无码mv| 亚洲免费一级视频|