Spring核心思想 IOC 、 AOP
注意:IOC和AOP不是spring提出的,在spring之前就已經存在,只不過更偏向于理論化,spring在技術層次把這兩個思想做了?常好的實作(Java)
IOC
1、什么是IOC?
IoC Inversion of Control (控制反轉/反轉控制),注意它是?個技術思想,不是?個技術實作描述的事情:Java開發領域物件的創建,管理的問題
傳統開發?式:?如類A依賴于類B,往往會在類A中new?個B的物件
這就好比找物件:1、確認目標(不論你是搭訕還是有心儀的女生)2、建立鏈接(聊天互動,互相熟悉)3、約會(約飯還是約電影,又或者其他的就看你了)4、或成或敗(這個也強求不得,不必太多在意哈,,,,)
以上呢,就是說傳統開發模式需要我們親身涉及到每一個細節,每一個步驟,等等;即親力親為
IoC思想下開發?式:我們不???去new物件了,?是由IoC容器(Spring框架)去幫助我們實體化物件并且管理它,我們需要使?哪個物件,去問IoC容器要即 可
我們喪失了?個權利(創建、管理物件的權利),得到了?個福利(不?考慮物件的創建、管理等?系列事情)
這就好比找物件這件事呢,我們就不必自己親力親為了,需要物件了,就去“婚介所”讓他們幫我們去匹配,這個“婚介所”就是spring容器,什么是需要?直接問他要即可
為什么叫做控制反轉?
控制:指的是物件創建(實體化、管理)的權利
反轉:控制權交給外部環境了(spring框架、IoC容器)

2、IOC解決了什么問題
IoC解決物件之間的耦合問題
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-NB6uD9fp-1603956783711)(C:\Users\yqhou\AppData\Roaming\Typora\typora-user-images\image-20201029152400897.png)]](https://img.uj5u.com/2020/10/30/166237302100542.png)
3、IOC和DI的區別
DI:Dependancy Injection(依賴注?)
怎么理解:
IOC和DI描述的是同?件事情,只不過?度不?樣罷了

AOP
1、什么是AOP
AOP: Aspect oriented Programming ?向切?編程/?向??編程
AOP是OOP的延續,從OOP說起
OOP三?特征:封裝、繼承和多型
oop是?種垂直繼承體系

OOP編程思想可以解決?多數的代碼重復問題,但是有?些情況是處理不了的,?如下?的在頂級?類
Animal中的多個?法中相同位置出現了重復代碼,OOP就解決不了

橫切邏輯代碼

橫切邏輯代碼存在什么問題:
- 橫切代碼重復問題
- 橫切邏輯代碼和業務代碼混雜在?起,代碼臃腫,維護不?便
AOP出場,AOP獨辟蹊徑提出橫向抽取機制,將橫切邏輯代碼和業務邏輯代碼分析

代碼拆分容易,那么如何在不改變原有業務邏輯的情況下,悄?聲息的把橫切邏輯代碼應?到原有的業
務邏輯中,達到和原來?樣的效果,這個是?較難的
2、AOP在解決什么問題?
在不改變原有業務邏輯情況下,增強橫切邏輯代碼,根本上解耦合,避免橫切邏輯代碼重復
3、為什么叫切面編程
「切」:指的是橫切邏輯,原有業務邏輯代碼我們不能動,只能操作橫切邏輯代碼,所以?向橫切邏輯
「?」:橫切邏輯代碼往往要影響的是很多個?法,每?個?法都如同?個點,多個點構成?,有?個
?的概念在??
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/195750.html
標籤:python
