物件導向方法為何有利於軟體複用?

來源:互聯網
上載者:User

今天突然想到這個問題,覺得應該寫點東西!
我認為應該是下面這些吧:

對象與類:用對象類作為系統的基本構成單位,符合可複用構件應具備的主要特性:

完整性——類的屬性與服務完整地表達了事物的靜態特徵和動態特徵。
獨立性——類與外部的事物之間有明確的界限和較少的介面。
可標識性——類的命名與問題域中的事物概念吻合。
一般性——對象類是對實際事物的映射,客觀性強。當其它系統中遇到同類事物時,用同樣的對象類進行描述的可能性很大。

抽象:抽象意味著忽略事物的某些差異而提取其共同特徵。OO方法的這一原則也正是定義可複用構件時所需遵循的。一個軟體構件只有體現某種程度的抽象才能被用於細節互異的多個系統。

封裝:把對象的屬性與服務結合為一個完整的實體,屏蔽了對象的內部細節,對外之保留有限的介面。因此,它使對象類具有完整性、獨立性等有益於複用的性質。

繼承與一般-特殊結構:體現了不同層次的抽象。結構中的類適應於不同的複用範圍。低層的類含有較多的資訊;高層的類可在更廣的範圍內複用。根據這一原理,在系統開發中可以製造一些對其它系統可複用的一般類構件。繼承也是構件的一種有效使用方式:可以把構件作為一般類使用,通過對它的繼承而定義系統中的特殊類。

彙總與整體-部分結構:運用彙總原則,可以把一個難於複用的大的軟體成分處理為由若干部分對象構成的整體對象,使其中的某些部分對象成為可複用性強的構件。彙總也是實現複用的一種有效方式,例如OLE就是把可複用的構件對象通過連結或嵌入而彙總為新的對象和新的應用。

粒度控制:運用的比對象和類粒度更大的概念(例如“主題”、“子系統”、“類簇”或其它類似概念),可把若干類組合為一個較大的軟體成分。因此,用OO方法得到的可複用構件,不局限於對象類一種形式,也可以是由若干類組成的較大的構件。

多態性:對象的多態性使對象在不同的使用條件下可以具有不同的語義。以這樣的對象類、結構或主題作為可複用構件,將符合更多應用系統需求,因此具有較強的適應性。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.