日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

编程思想演进

發布時間:2023/12/9 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 编程思想演进 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

編程思想演進

  • POP (Procedure Oriented Programming)
  • OOP (Object Oriented Programming)
  • AOP (Aspect Oriented Programming)
    • AOP多種實現
  • DDD (領域驅動設計)

POP (Procedure Oriented Programming)

POP面向過程就是分析出解決問題所需的步驟,然后用函數把這些步驟一步一步實現,使用的時候一個一個依次調用就可以了。考慮問題是從解決問題的步驟出發

優點:符合常規先行思想
缺點:難以應對復雜的業務,難以滿足業務擴展需求

OOP (Object Oriented Programming)

OOP面向對象編程,是按人們認識客觀世界的系統思維方式,采用基于對象(實體)的概念建立模型,模擬客觀世界分析、設計、實現軟件的辦法。考慮問題的方式是從對象出發。分治思想

思維歷程:可以應對復雜的業務需求→因為聚沙成塔→不管做多復雜的系統,拆解→拆解→拆解,都是一個個類組裝的→封裝一個類→多個類交互完成小功能→多個功能疊加→模塊→多個模塊兒疊加→系統→平臺。

OOP是一個非常偉大的程序設計思想,才有豐富復雜的各種業務系統

原理:其實在OOP的內部,依舊是POP的線性思想。OOP是程序設計,POP是內部實現

AOP (Aspect Oriented Programming)

AOP面向切面編程:通過預編譯方式和運行期間動態代理實現程序功能的統一維護的一種技術。AOP是OOP的延續。

說人話:解決面向對象語言的靜態問題,能突破類的限制,去動態擴展類的功能。既不破壞封裝,又能額外增加功能。

優點:任意擴展功能,聚焦業務邏輯。代碼復用,集中管理,方便團隊管理

AOP多種實現

  • 靜態代理:代理模式、裝飾器模式
  • 動態代理:.NET Core 靠反射代理,以前RealProxy、Castle(靠emit)
  • 靜態織入:PostSharp(收費)、Aspect
  • 委托嵌套:ASP.NET Core 管道中間件
  • 特性+反射:ASP.NET Core 的 Filter
  • IOC容器:Autofec、Unity等,基于動態代理或者emit完成

之后會試著把AOP的幾種實現方式寫出來,做一個深入的理解。

DDD (領域驅動設計)

領域驅動設計(DDD)是一種基于模型驅動的軟件設計方式。它以領域為核心,分析領域中的問題,通過建立一個領域模型來有效的解決領域中的核心的復雜問題。

說人話:就是劃分領域(更上層、關系緊密)–>大盒子,其實就像類,但是編程語言沒有這東西,所以就創造了一個領域(聚合根,可以包含多個對象)–>業務分析設計方法–>還誕生了很多方法論

總結

以上是生活随笔為你收集整理的编程思想演进的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。