分解 (電腦科學)
在電腦科學中,分解(英語:Decomposition,或factoring),是將一個複雜的問題或系統,先區分成小部份的過程,其目的是使這個問題變得更容易構造、思考、理解,以利於編程及維持。分解程式的目標是建立多個模組,使這些模組本身就成為能夠以簡單而又明確的方法進行相互耦合的小型程式。如果達到這個目標,則開發人員能夠在不需要許多交流的情況下,獨立開發不同的模組,而最終能夠將這些模組整合起來成為系統。
概述
在分解一個問題的時候,按照以下原則將其分解成幾個可再分的子問題:
- 每個子問題在細節上處於相同的級別;
- 每個子問題能夠獨立解決;
- 每個子問題的解決方法綜合起來可以解決原來的問題。
抽象然後分解是程式設計中的經典內容,程式設計師用分解將一個軟件分成多個組件,使這些組件可以最終組合起來解決最初的問題;並且抽象來協助開發者正確選擇程式組件。交替應用這兩種過程,直到將最初的問題變成一系列已經知道解決方法的子問題。
參考文獻
- Barbara Liskov、John Guttag(美國)着,裘健譯。《程式開發原理:抽象、規格與物件導向設計》,北京:電子工業出版社,2006年10月:第2頁