接口
單純的Interface可以統(tǒng)一方法的調(diào)用搞糕,但是它不能統(tǒng)一對象的實例化勇吊。
只有一段代碼不負(fù)責(zé)對象實例化,才能保持相對穩(wěn)定窍仰,才能逐步實現(xiàn)OCP汉规。
上面這句話比較抽象,實際上一段代碼要保持穩(wěn)定驹吮,就不應(yīng)該負(fù)責(zé)對象的實例化针史。
對象的實例化是不可能消除的。
工廠模式
把對象實例化的過程轉(zhuǎn)移到其他的代碼片段里碟狞。
代碼中總是有一部分是不穩(wěn)定的啄枕,隔離這些不穩(wěn)定,保證其他代碼是穩(wěn)定的族沃。
變化造成了不穩(wěn)定:一種是用戶輸入的變化频祝,另一種是技術(shù)選型/中間件的變化。
反射
通過類可以獲取一個對象脆淹,那么通過元類可以獲取一個類常空,理解萬物皆對象,萬物皆可抽象盖溺。
IOC
=Interface + 工廠模式+反射
SpringBoot的目的
抽象意義:控制權(quán)交給用戶
靈活的OCP