AOP與OOP
AOP(面向方面編程)和OOP(面向對象編程)是兩種編程範式。程序設計是一種基本的程序設計風格。編程範例在如何表示程序的每個元素以及如何定義每個步驟來解決問題方面是不同的。顧名思義,OOP專注於使用真實世界的對象及其行為來表示問題,而AOP則負責將程序分解成獨立的橫切關注點。
什麼是AOP?
AOP是一種編程範式,它處理的是將程序分解為跨多個領域的具有凝聚力的功能區域(稱為關注點),以提高模塊性。許多其他編程範例都提供了對抽象(如類、方法等)的支持,以便將關注點分組並封裝到唯一的實體中。但是關注點(例如“日誌記錄”)是橫切關注點的例子,因為系統的每個日誌記錄部分都會受到日誌記錄策略的影響。所有AOP實現的主要焦點是有合適的橫切表達式來在單個位置捕獲所有關注點。
什麼是OOP?
在OOP中,重點是從現實世界的元素來思考要解決的問題,並用對象及其行為來表示問題。類描述真實世界對象的抽象表示。類類似於藍圖或模板,它們收集可以組合在一起的類似項或事物。類具有稱為屬性的屬性。屬性被實現為全局變量和實例變量。類中的方法表示或定義這些類的行為。類的方法和屬性稱為類的成員。類的實例稱為對象。因此,對象是一種與真實世界中的對象非常相似的數據結構。
有幾個重要的OOP概念,如數據抽象、封裝、多態性、消息傳遞、模塊化和繼承。通常,封裝是通過使屬性私有化來實現的,同時創建可用於訪問這些屬性的公共方法。繼承允許用戶從其他類(稱為超級類)擴展類(稱為子類)。多態性允許程序員用一個類的對象代替它的超類的對象。通常,在問題定義中找到的名詞直接成為程序中的類。同樣,動詞變成了方法。一些最流行的OOP語言是Java和C。
AOP和OOP有什麼區別?