在程式設計的過程中,我們最在意的就是寫出高質量的程式,程式設計有一套指導理論,幫助人們實現這套高質量的**,這套程式設計理論我們稱之為程式設計思路。在追求高質量過程中,發展了三種不同且常用的程式設計思想,即:面向過程的程式設計物件導向程式設計面向部分的程式設計。程式設計思想是一種思想,它與程式語言無關,這三個思想中沒有乙個比另乙個更好,實際上面向過程將是記憶中的最終狀態。
面向過程程式設計(POP)是一種側重於問題實現和寫作組織過程的程式設計方法,在程式設計設計中主要按過程和功能的順序組成。 它是一種基本的程式設計方式,從實際的角度思考如何實現和解決問題。
在實施和解決問題時,面向過程首先分析解決問題的步驟,然後通過功能、過程和方法實現每個步驟,最後嚴格按照順序組織這些步驟並逐步執行。 寫作是線性的,嚴格順序的,專注於解決方案步驟,專注於區域性或特定。
優點:
1.工藝和模組化。
2、符合人類思維的自然規律,分工明確,能清晰明了地分工實現的問題。
3.高效能,無額外的封裝和繼承開銷。
缺點:
1.可重用性低,擴充套件性差,維護困難。
2、複雜問題難以模組化,耦合度相對較高。
物件導向程式設計(OOP)是以問題形成的物件為中心對物件進行分解,描述物件在解決問題的全過程中的性質和行為,並根據物件之間的關係進行編寫的程式設計正規化。 它似乎主要是為了彌補面向過程的一些缺點。 物件導向程式設計在實現和解決問題時,首先分析解決問題的物件的組成,將資料、屬性、行為抽象成模組結構形成類,然後以某種方式實現前者的多型性,最後根據物件關係進行組織。 物件:現實世界中存在的任何東西都可以稱為物件,具有一些屬性和行為。 比如汽車、蘋果、貓、狗。
特徵:
封裝,將客觀事物封裝到抽象類中,隱藏資料和方法,只允許訪問某些資訊。
遺產,一種允許一種型別的物件獲取另一種型別的物件的屬性的方法。
多型性,這意味著類例項的同一方法在不同情況下具有不同的表現形式。
優點:
1、結構清晰,注重物件和職責,不同的物件承擔不同的責任。
2.資料封裝,部分隱藏資料,只允許訪問部分資料。
3、實施簡單,易於維護和擴充套件,可重複使用。
缺點:
1.由於物件之間的互動和資訊傳遞,會犧牲一些效能,導致執行效率低下。
2、程式設計複雜度增加,簡單的問題複雜化。
3.過分關注物件可能會限制你解決實際問題的思考。
面向方面程式設計(AOP)是一種通過預編譯和執行時動態**提取業務流程的方面,然後動態地向程式新增功能,而不修改原始碼的技術。 它是物件導向程式設計的一種擴充套件和補充,是一種規範。 主要目的是將日誌記錄、效能統計、安全控制、事務處理、異常處理等都與業務邏輯分離。 從核心關切中抽離出貫穿各領域的關切是面向部分的方案編制的核心。
優點:
1、從業務邏輯中抽離出一般功能,提高可復用性,便於公司的維護和擴充套件。
2、減少第一耦合,實現各種功能之間的解耦。
3、提高第一類的可復用性和開發效率。
缺點:
1、物件導向程式設計的補充,要求通過物件導向程式設計對業務進行梳理後,提取一般函式。
2.在效能上會有一些犧牲。
以上三個想法是相輔相成的,是相輔相成的。 在複雜系統的開發中,這三種程式設計思路是必不可少的。 本文僅介紹三個思想概念,優點和缺點,希望對大家的學習或工作有一定的參考價值。 後續工作將與 C 語言的實現方式相結合。