分解和抽象

來源:互聯網
上載者:User

        解決一個問題,很重要的一點解決其中的不確定性,一般來說有兩種方法:分解和抽象。

所謂分解就是在不確定中將某些確定的部分分離出來,然後對這些確定的部分先提供解決方案,而不確定的部分留到具體問題明確的時候解,分解的最大特點就是局部化確定部分;這種方法的典型用法就是各種工具庫,如面向C語言提供的標準IO庫,面向Java的標準類庫等,這些庫在設計的時候並沒有局限用於某個特定的領域。 

解決不確定性另一種方法是抽象。所謂抽象就是指在分析不確定性各種情況後,概括出他們之間的本質特性,這種本質特性就是抽象層次,它們是確定的,抽象的最大特點就是局部化不確定性;這種方法的典型用法就是各種架構,如EJB架構、Spring Framework,HiveMind架構等。 

這兩種方法各有優缺點,分解方法的優點是它的靈活性,因為它處理的是部分確定性,而對整體的不確定性沒有作任何假設,缺點是留下的具體問題太多;抽象的方法優點是解決了整體的抽象部分,因而後面需要處理的只是差異部分,缺點是要求抽象的模型必須準確,如果出現實際問題和抽象模型不匹配的話,抽象的方法就難以處理這類問題,因而存在一定的擴充性風險。第一種方案是以“分解”方法為主,提供在解決實際問題中可能用到的各類基礎工具,如各種連接器,組合工具,流程組合工具等,但不提供更貼近需求層面的抽象層次。 

第二種方案是將“抽象”方法和“分解”方法相結合的方法。首先用“分解”的方法提供各種基礎工具,其次用“抽象”的方法根據實際的需求抽象出各種業務模型,並使用基礎工具實現這些基本業務模型,另外也提供一種機制能夠控制這些業務模型。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.