如何理解POP,OOP,AOP之間的關係

2021-09-25 22:04:41 字數 857 閱讀 3715

面向過程程式設計(prcedure oriented programming,簡稱pop)是一種以過程為中心的程式設計思想,它考慮的是實際的實現,是一種從上而下,步步求精的過程。對於面向過程而言,講究的是事件執行的順序,只需要按照程式的流程,乙個個實現就行了。比如:把大象塞入冰箱需要三步

開啟冰箱門

把大象放入冰箱

關上冰箱門

你只需要按順序將三個步驟分別實現就可以了。對於規模不大的專案,面向過程有時可能會有一些優勢。

物件導向程式設計(object oriented programming,簡稱oop)是一種以物件為中心的程式設計思想,它的核心思想是「萬物皆物件」。oop將物件的特徵稱為屬性,將物件的動作稱為方法,把具有相同屬性特徵的物件抽象成乙個類。當需要呼叫物件中的方法時,可以直接呼叫,而不用考慮事件執行的先後順序,oop的三大特徵就是繼承、封裝與多型。

面向切面程式設計(aspect oriented programming,簡稱aop)採取橫向抽取技術,將分散在各個方法中的重複**提取出來,然後在程式的編譯或執行階段,再將這些抽取出來的**應用的需要執行的地方。aop面向的更多是次要方面,如業務處理**中的日誌記錄、效能統計、安全控制、事務處理、異常處理等操作,由aop進行統一管理,簡化了開發過程,提公升了開發效率。

pop的耦合度較高,一旦業務流程發生改變,就需要修改整個專案,可維護性差;相對的,由於不需要類的例項化等操作,所以效率較高。

oop實現了業務流程與方法的分離,耦合度較低,易拓展,易復用,易維護,程式開發更加靈活,而效率卻相對較低。

aop不是oop的替代品,而是oop的補充,他們相輔相成。儘管使用oop可以使用封裝和繼承的方式實現**的復用,但這只是父子關係的縱向復用,不全面且存在一定的侵入性,aop的橫向抽取機制恰好可以彌補傳統oop的不足。

如何理解POP,OOP,AOP之間的關係

1 pop 面向過程程式設計 process oriented programming 面向過程程式設計是以功能為中心來進行思考和組織的一種程式設計方法,它強調的是系統的資料被加工和處理的過程,在程式設計中主要以函式或者過程為程式的基本組織方式,系統功能是由一組相關的過程和函式序列構成。面向過程強調...

如何理解POP,OOP,AOP之間的關係

以 怎麼做 為中心,完成任務的具體細節。即將任務分成小步驟,用小函式來實現小步驟,然後用主函式呼叫這些小函式。比如 走路這個任務 就可能有人走路,貓走路,狗走路等等 按照面向過程的方法 每個函式裡面都含有乙個走路的方法。以 誰來做 為中心,完成任務的物件。針對上面的例子 可以看出它們都有乙個共同特性...

如何理解POP OOP AOP之間的關係

oop object oriented programming aop aspect oriented programming oop與pop之間的關係 oop與aop之間的關係 pop即面向過程,是一種程式設計思想,顧名思義這種程式設計思想以過程為中心,強調的是功能。我們將 要解決的問題進行分析,...