三大編程思想:
POP:面向程序編程(Procedure Oriented Programming)
OOP:面向物件編程(Object Oriented Programming)
AOP:面向切面編程(Aspect Oriented Programming)
以下大部分內容參考騰訊云一位筆者,我也是進一步了解純記錄之目的,
POP
? 面向程序編程是以功能為中心來進行思考和組織的一種編程方式,它強調的是功能,在程式設計中主要以函式或程序為程式的基本組織方式,系統功能是由一組相關的程序和函式序列構成,
? 分析解決問題所需要的步驟,然后用函式把這些步驟一一實作,使用的時候按順序依次呼叫就可以了,代碼線性,嚴格按著順序,側重解決步驟,著眼區域和具體,
優:
流程化編程任務明確,在開發之前基本考慮了實作方式和最終結果
開發效率高,代碼的短小精悍,善于結合資料結構來開發高效率的程式
流程明確,具體步驟清楚,便于節點分析
缺:
需要深入的思考,耗費精力
代碼重用性低,不易擴展,維護起來難度大
對復雜業務,面向程序的模塊化難度較高,耦合度比較高
OOP
? 面向物件編程是以物件為中心,是一種新型的程式設計方法,針對業務處理程序的物體及其屬性和行為進行抽象封裝,萬物皆物件.,
面向物件有特性:封裝、繼承、多型,還有抽象,這幾個特性應該都清楚
優:
結構清晰:注重物件和職責,不同的物件承擔不同的職責
封裝性:將事物高度抽象,便于流程中的行為分析、操作
易擴展:代碼重用率高,可繼承,可覆寫
實作簡單:可有效地減少程式的維護作業量
缺:
面向物件在面向程序的基礎上高度抽象,從而和代碼底層的直接互動非常少,從而不適合底層開發和游戲開發,甚至是多媒體開發
復雜性,對于事務開發而言,事務本身是面向程序的,過度的封裝導致事務本身的復雜性提高
AOP
在設計模式專題,提到過裝飾器模式,他是快速實作AOP的一種簡潔方式,AOP是OOP的延續,AOP用來統一管理公有模塊,提高代碼復用率
優:
簡單,易用
降低模塊的耦合度
使系統容易擴展
設計決定的遲系結:設計師可以推遲為將來的需求作決定
缺:
增加額外重復代碼,且緊耦合
每個業務邏輯需要一個裝飾器實作或代理
使用麻煩,須增加容器
總結:
pop以功能為中心,注重功能的實作,達到效果就行
oop以物件為中心,注重抽象,代碼更加規范
aop抽出公共部分
三種編程思想相互補充和完善
只有永不遏止的奮斗,才能使青春之花,即便是凋謝,也是壯麗地凋謝
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/517520.html
標籤:Python
下一篇:爬蟲一些常用代碼的記錄
