'「Java知識點」Spring中所體現出的設計原則和設計模式'

"

設計模式是面向對象編程中總結出來的成功的編程經驗與最佳實現,運用這種高段位的編程技巧的會使得代碼體系結構更加清晰、功能更加凝練 ,下面我們將討論下Spring中本廣泛使用的設計模式。

"

設計模式是面向對象編程中總結出來的成功的編程經驗與最佳實現,運用這種高段位的編程技巧的會使得代碼體系結構更加清晰、功能更加凝練 ,下面我們將討論下Spring中本廣泛使用的設計模式。

「Java知識點」Spring中所體現出的設計原則和設計模式

螞蟻課堂帶你學Java

設計原則

談Spring中設計模式之前,我先談談關於廣為流傳的設計原則的一得之見,如下:

  • 單一職責原則
  • 依賴倒置原則
  • 接口隔離原則
  • 最少知識原則
  • 開閉原則
  • 替換原則

記住這些抽象概括的概念很重要,但在開發編程中知曉該如何落地執行尤為重要!

開閉原則應該一種結果,代碼具有對擴展開放,對修改關閉的高可維護性,是遵守了其他原則後的一種自然而然的現象。

單一職責,在開發中是最不要錢的優秀的編碼手段,它指的是引起類變化的原因,一個類只能有一個。有什麼好處?當一個類職責越多,被引用的地方就越多,依賴關係就越複雜,同樣可能引起類變化的原因就越多,這樣的類就會越脆弱。

職責單一的類除了功能內聚、結構清晰外,同時還具有易測試易維護容易理解的特點,這簡直和TDD(測試驅動開發)的編程思想不謀而合。只有引起類變化的原因少,才容易編寫可測試的用例,也更容易進行黑盒測試。只有可測的代碼,才容易維護修改,對於邏輯複雜的代碼顯得尤為重要,不可測的代碼,修改後將會毫無自信。

而要寫出單一職責的類,需要熟悉領域模型與業務邏輯外,還需要進行大量的重構、嘗試工作,以期待達到理想的效果。在這個過程中,業務邏輯不會因為拆分而變得簡單,更可能會多出很多的類,而這些類組合依賴的原則就是依賴倒置接口隔離最少知識替換原則

在Spring中,就說IOC容器實例化的過程,需要找配置、實例化Bean、初始化等工作,這個整個過程非常的複雜。

Spring把整個流程進行了抽象,對如何找配置,怎樣依賴注入,初始化方法等功能,通過各種處理器插件化方式進行增強,接口類型進行自動的接入,非常契合開閉原則。

"

設計模式是面向對象編程中總結出來的成功的編程經驗與最佳實現,運用這種高段位的編程技巧的會使得代碼體系結構更加清晰、功能更加凝練 ,下面我們將討論下Spring中本廣泛使用的設計模式。

「Java知識點」Spring中所體現出的設計原則和設計模式

螞蟻課堂帶你學Java

設計原則

談Spring中設計模式之前,我先談談關於廣為流傳的設計原則的一得之見,如下:

  • 單一職責原則
  • 依賴倒置原則
  • 接口隔離原則
  • 最少知識原則
  • 開閉原則
  • 替換原則

記住這些抽象概括的概念很重要,但在開發編程中知曉該如何落地執行尤為重要!

開閉原則應該一種結果,代碼具有對擴展開放,對修改關閉的高可維護性,是遵守了其他原則後的一種自然而然的現象。

單一職責,在開發中是最不要錢的優秀的編碼手段,它指的是引起類變化的原因,一個類只能有一個。有什麼好處?當一個類職責越多,被引用的地方就越多,依賴關係就越複雜,同樣可能引起類變化的原因就越多,這樣的類就會越脆弱。

職責單一的類除了功能內聚、結構清晰外,同時還具有易測試易維護容易理解的特點,這簡直和TDD(測試驅動開發)的編程思想不謀而合。只有引起類變化的原因少,才容易編寫可測試的用例,也更容易進行黑盒測試。只有可測的代碼,才容易維護修改,對於邏輯複雜的代碼顯得尤為重要,不可測的代碼,修改後將會毫無自信。

而要寫出單一職責的類,需要熟悉領域模型與業務邏輯外,還需要進行大量的重構、嘗試工作,以期待達到理想的效果。在這個過程中,業務邏輯不會因為拆分而變得簡單,更可能會多出很多的類,而這些類組合依賴的原則就是依賴倒置接口隔離最少知識替換原則

在Spring中,就說IOC容器實例化的過程,需要找配置、實例化Bean、初始化等工作,這個整個過程非常的複雜。

Spring把整個流程進行了抽象,對如何找配置,怎樣依賴注入,初始化方法等功能,通過各種處理器插件化方式進行增強,接口類型進行自動的接入,非常契合開閉原則。

「Java知識點」Spring中所體現出的設計原則和設計模式

螞蟻課堂帶你學Java

設計模式

工廠模式

ApplicationContext作為Spring對外的門面,在Spring提供了不同的實現,用來通過不同的途徑,加載配置,實例化Spring容器,例如:

  • AnnotationConfigApplicationContext
  • ClassPathXmlApplicationContext

通過工廠方法模式,通過接口編程,屏蔽實現細節,增強Spring的可擴展性。

"

設計模式是面向對象編程中總結出來的成功的編程經驗與最佳實現,運用這種高段位的編程技巧的會使得代碼體系結構更加清晰、功能更加凝練 ,下面我們將討論下Spring中本廣泛使用的設計模式。

「Java知識點」Spring中所體現出的設計原則和設計模式

螞蟻課堂帶你學Java

設計原則

談Spring中設計模式之前,我先談談關於廣為流傳的設計原則的一得之見,如下:

  • 單一職責原則
  • 依賴倒置原則
  • 接口隔離原則
  • 最少知識原則
  • 開閉原則
  • 替換原則

記住這些抽象概括的概念很重要,但在開發編程中知曉該如何落地執行尤為重要!

開閉原則應該一種結果,代碼具有對擴展開放,對修改關閉的高可維護性,是遵守了其他原則後的一種自然而然的現象。

單一職責,在開發中是最不要錢的優秀的編碼手段,它指的是引起類變化的原因,一個類只能有一個。有什麼好處?當一個類職責越多,被引用的地方就越多,依賴關係就越複雜,同樣可能引起類變化的原因就越多,這樣的類就會越脆弱。

職責單一的類除了功能內聚、結構清晰外,同時還具有易測試易維護容易理解的特點,這簡直和TDD(測試驅動開發)的編程思想不謀而合。只有引起類變化的原因少,才容易編寫可測試的用例,也更容易進行黑盒測試。只有可測的代碼,才容易維護修改,對於邏輯複雜的代碼顯得尤為重要,不可測的代碼,修改後將會毫無自信。

而要寫出單一職責的類,需要熟悉領域模型與業務邏輯外,還需要進行大量的重構、嘗試工作,以期待達到理想的效果。在這個過程中,業務邏輯不會因為拆分而變得簡單,更可能會多出很多的類,而這些類組合依賴的原則就是依賴倒置接口隔離最少知識替換原則

在Spring中,就說IOC容器實例化的過程,需要找配置、實例化Bean、初始化等工作,這個整個過程非常的複雜。

Spring把整個流程進行了抽象,對如何找配置,怎樣依賴注入,初始化方法等功能,通過各種處理器插件化方式進行增強,接口類型進行自動的接入,非常契合開閉原則。

「Java知識點」Spring中所體現出的設計原則和設計模式

螞蟻課堂帶你學Java

設計模式

工廠模式

ApplicationContext作為Spring對外的門面,在Spring提供了不同的實現,用來通過不同的途徑,加載配置,實例化Spring容器,例如:

  • AnnotationConfigApplicationContext
  • ClassPathXmlApplicationContext

通過工廠方法模式,通過接口編程,屏蔽實現細節,增強Spring的可擴展性。

「Java知識點」Spring中所體現出的設計原則和設計模式

螞蟻課堂帶你學Java

單例模式

單例模式可以說是最簡單的設計模式,但是它卻提供了創建某些對象的最佳方式。他保證了能夠提供服務的實例對象在內存中只有一個。

這也是Spring實例化對象的默認方式,IOC容器實例化對象後並保存起來,之後所有的引用,都是基於這個對象,減少了內存的開銷,同時單例對象的無狀態要求,也將保證線程安全。

代理模式

在SpringAop的實現中,有通過動態代理生成的代理類,來替換目標類在IOC容器中的引用,代替目標類完成其他對象的依賴注入。

"

設計模式是面向對象編程中總結出來的成功的編程經驗與最佳實現,運用這種高段位的編程技巧的會使得代碼體系結構更加清晰、功能更加凝練 ,下面我們將討論下Spring中本廣泛使用的設計模式。

「Java知識點」Spring中所體現出的設計原則和設計模式

螞蟻課堂帶你學Java

設計原則

談Spring中設計模式之前,我先談談關於廣為流傳的設計原則的一得之見,如下:

  • 單一職責原則
  • 依賴倒置原則
  • 接口隔離原則
  • 最少知識原則
  • 開閉原則
  • 替換原則

記住這些抽象概括的概念很重要,但在開發編程中知曉該如何落地執行尤為重要!

開閉原則應該一種結果,代碼具有對擴展開放,對修改關閉的高可維護性,是遵守了其他原則後的一種自然而然的現象。

單一職責,在開發中是最不要錢的優秀的編碼手段,它指的是引起類變化的原因,一個類只能有一個。有什麼好處?當一個類職責越多,被引用的地方就越多,依賴關係就越複雜,同樣可能引起類變化的原因就越多,這樣的類就會越脆弱。

職責單一的類除了功能內聚、結構清晰外,同時還具有易測試易維護容易理解的特點,這簡直和TDD(測試驅動開發)的編程思想不謀而合。只有引起類變化的原因少,才容易編寫可測試的用例,也更容易進行黑盒測試。只有可測的代碼,才容易維護修改,對於邏輯複雜的代碼顯得尤為重要,不可測的代碼,修改後將會毫無自信。

而要寫出單一職責的類,需要熟悉領域模型與業務邏輯外,還需要進行大量的重構、嘗試工作,以期待達到理想的效果。在這個過程中,業務邏輯不會因為拆分而變得簡單,更可能會多出很多的類,而這些類組合依賴的原則就是依賴倒置接口隔離最少知識替換原則

在Spring中,就說IOC容器實例化的過程,需要找配置、實例化Bean、初始化等工作,這個整個過程非常的複雜。

Spring把整個流程進行了抽象,對如何找配置,怎樣依賴注入,初始化方法等功能,通過各種處理器插件化方式進行增強,接口類型進行自動的接入,非常契合開閉原則。

「Java知識點」Spring中所體現出的設計原則和設計模式

螞蟻課堂帶你學Java

設計模式

工廠模式

ApplicationContext作為Spring對外的門面,在Spring提供了不同的實現,用來通過不同的途徑,加載配置,實例化Spring容器,例如:

  • AnnotationConfigApplicationContext
  • ClassPathXmlApplicationContext

通過工廠方法模式,通過接口編程,屏蔽實現細節,增強Spring的可擴展性。

「Java知識點」Spring中所體現出的設計原則和設計模式

螞蟻課堂帶你學Java

單例模式

單例模式可以說是最簡單的設計模式,但是它卻提供了創建某些對象的最佳方式。他保證了能夠提供服務的實例對象在內存中只有一個。

這也是Spring實例化對象的默認方式,IOC容器實例化對象後並保存起來,之後所有的引用,都是基於這個對象,減少了內存的開銷,同時單例對象的無狀態要求,也將保證線程安全。

代理模式

在SpringAop的實現中,有通過動態代理生成的代理類,來替換目標類在IOC容器中的引用,代替目標類完成其他對象的依賴注入。

「Java知識點」Spring中所體現出的設計原則和設計模式

過濾器模式

在SpringMVC中,我們可以通過HandlerInterceptor這種相對應Filter更加輕量級的攔截器,來處理請求,並向後傳遞請求,來達到控制請求傳遞的目的。

模板方法模式

Spring實例化IOC容器的過程,需要很多的組件,這些組件都是會變化的,會改變,例如可以從Xml讀取配置與從註解讀取配置等,而實例化的流程,卻是不變的,也可以認為,SpringIOC的實現的總的思想不會變,也就是說約定了算法的骨架。

"

設計模式是面向對象編程中總結出來的成功的編程經驗與最佳實現,運用這種高段位的編程技巧的會使得代碼體系結構更加清晰、功能更加凝練 ,下面我們將討論下Spring中本廣泛使用的設計模式。

「Java知識點」Spring中所體現出的設計原則和設計模式

螞蟻課堂帶你學Java

設計原則

談Spring中設計模式之前,我先談談關於廣為流傳的設計原則的一得之見,如下:

  • 單一職責原則
  • 依賴倒置原則
  • 接口隔離原則
  • 最少知識原則
  • 開閉原則
  • 替換原則

記住這些抽象概括的概念很重要,但在開發編程中知曉該如何落地執行尤為重要!

開閉原則應該一種結果,代碼具有對擴展開放,對修改關閉的高可維護性,是遵守了其他原則後的一種自然而然的現象。

單一職責,在開發中是最不要錢的優秀的編碼手段,它指的是引起類變化的原因,一個類只能有一個。有什麼好處?當一個類職責越多,被引用的地方就越多,依賴關係就越複雜,同樣可能引起類變化的原因就越多,這樣的類就會越脆弱。

職責單一的類除了功能內聚、結構清晰外,同時還具有易測試易維護容易理解的特點,這簡直和TDD(測試驅動開發)的編程思想不謀而合。只有引起類變化的原因少,才容易編寫可測試的用例,也更容易進行黑盒測試。只有可測的代碼,才容易維護修改,對於邏輯複雜的代碼顯得尤為重要,不可測的代碼,修改後將會毫無自信。

而要寫出單一職責的類,需要熟悉領域模型與業務邏輯外,還需要進行大量的重構、嘗試工作,以期待達到理想的效果。在這個過程中,業務邏輯不會因為拆分而變得簡單,更可能會多出很多的類,而這些類組合依賴的原則就是依賴倒置接口隔離最少知識替換原則

在Spring中,就說IOC容器實例化的過程,需要找配置、實例化Bean、初始化等工作,這個整個過程非常的複雜。

Spring把整個流程進行了抽象,對如何找配置,怎樣依賴注入,初始化方法等功能,通過各種處理器插件化方式進行增強,接口類型進行自動的接入,非常契合開閉原則。

「Java知識點」Spring中所體現出的設計原則和設計模式

螞蟻課堂帶你學Java

設計模式

工廠模式

ApplicationContext作為Spring對外的門面,在Spring提供了不同的實現,用來通過不同的途徑,加載配置,實例化Spring容器,例如:

  • AnnotationConfigApplicationContext
  • ClassPathXmlApplicationContext

通過工廠方法模式,通過接口編程,屏蔽實現細節,增強Spring的可擴展性。

「Java知識點」Spring中所體現出的設計原則和設計模式

螞蟻課堂帶你學Java

單例模式

單例模式可以說是最簡單的設計模式,但是它卻提供了創建某些對象的最佳方式。他保證了能夠提供服務的實例對象在內存中只有一個。

這也是Spring實例化對象的默認方式,IOC容器實例化對象後並保存起來,之後所有的引用,都是基於這個對象,減少了內存的開銷,同時單例對象的無狀態要求,也將保證線程安全。

代理模式

在SpringAop的實現中,有通過動態代理生成的代理類,來替換目標類在IOC容器中的引用,代替目標類完成其他對象的依賴注入。

「Java知識點」Spring中所體現出的設計原則和設計模式

過濾器模式

在SpringMVC中,我們可以通過HandlerInterceptor這種相對應Filter更加輕量級的攔截器,來處理請求,並向後傳遞請求,來達到控制請求傳遞的目的。

模板方法模式

Spring實例化IOC容器的過程,需要很多的組件,這些組件都是會變化的,會改變,例如可以從Xml讀取配置與從註解讀取配置等,而實例化的流程,卻是不變的,也可以認為,SpringIOC的實現的總的思想不會變,也就是說約定了算法的骨架。

「Java知識點」Spring中所體現出的設計原則和設計模式

螞蟻課堂帶你學Java

策略模式

Spring通過把注入的過程,初始化方法的調用,通過不同的BeanPostProcessor來實現,不同的功能選擇不同的實現,避免功能的交叉,冗餘。

"

設計模式是面向對象編程中總結出來的成功的編程經驗與最佳實現,運用這種高段位的編程技巧的會使得代碼體系結構更加清晰、功能更加凝練 ,下面我們將討論下Spring中本廣泛使用的設計模式。

「Java知識點」Spring中所體現出的設計原則和設計模式

螞蟻課堂帶你學Java

設計原則

談Spring中設計模式之前,我先談談關於廣為流傳的設計原則的一得之見,如下:

  • 單一職責原則
  • 依賴倒置原則
  • 接口隔離原則
  • 最少知識原則
  • 開閉原則
  • 替換原則

記住這些抽象概括的概念很重要,但在開發編程中知曉該如何落地執行尤為重要!

開閉原則應該一種結果,代碼具有對擴展開放,對修改關閉的高可維護性,是遵守了其他原則後的一種自然而然的現象。

單一職責,在開發中是最不要錢的優秀的編碼手段,它指的是引起類變化的原因,一個類只能有一個。有什麼好處?當一個類職責越多,被引用的地方就越多,依賴關係就越複雜,同樣可能引起類變化的原因就越多,這樣的類就會越脆弱。

職責單一的類除了功能內聚、結構清晰外,同時還具有易測試易維護容易理解的特點,這簡直和TDD(測試驅動開發)的編程思想不謀而合。只有引起類變化的原因少,才容易編寫可測試的用例,也更容易進行黑盒測試。只有可測的代碼,才容易維護修改,對於邏輯複雜的代碼顯得尤為重要,不可測的代碼,修改後將會毫無自信。

而要寫出單一職責的類,需要熟悉領域模型與業務邏輯外,還需要進行大量的重構、嘗試工作,以期待達到理想的效果。在這個過程中,業務邏輯不會因為拆分而變得簡單,更可能會多出很多的類,而這些類組合依賴的原則就是依賴倒置接口隔離最少知識替換原則

在Spring中,就說IOC容器實例化的過程,需要找配置、實例化Bean、初始化等工作,這個整個過程非常的複雜。

Spring把整個流程進行了抽象,對如何找配置,怎樣依賴注入,初始化方法等功能,通過各種處理器插件化方式進行增強,接口類型進行自動的接入,非常契合開閉原則。

「Java知識點」Spring中所體現出的設計原則和設計模式

螞蟻課堂帶你學Java

設計模式

工廠模式

ApplicationContext作為Spring對外的門面,在Spring提供了不同的實現,用來通過不同的途徑,加載配置,實例化Spring容器,例如:

  • AnnotationConfigApplicationContext
  • ClassPathXmlApplicationContext

通過工廠方法模式,通過接口編程,屏蔽實現細節,增強Spring的可擴展性。

「Java知識點」Spring中所體現出的設計原則和設計模式

螞蟻課堂帶你學Java

單例模式

單例模式可以說是最簡單的設計模式,但是它卻提供了創建某些對象的最佳方式。他保證了能夠提供服務的實例對象在內存中只有一個。

這也是Spring實例化對象的默認方式,IOC容器實例化對象後並保存起來,之後所有的引用,都是基於這個對象,減少了內存的開銷,同時單例對象的無狀態要求,也將保證線程安全。

代理模式

在SpringAop的實現中,有通過動態代理生成的代理類,來替換目標類在IOC容器中的引用,代替目標類完成其他對象的依賴注入。

「Java知識點」Spring中所體現出的設計原則和設計模式

過濾器模式

在SpringMVC中,我們可以通過HandlerInterceptor這種相對應Filter更加輕量級的攔截器,來處理請求,並向後傳遞請求,來達到控制請求傳遞的目的。

模板方法模式

Spring實例化IOC容器的過程,需要很多的組件,這些組件都是會變化的,會改變,例如可以從Xml讀取配置與從註解讀取配置等,而實例化的流程,卻是不變的,也可以認為,SpringIOC的實現的總的思想不會變,也就是說約定了算法的骨架。

「Java知識點」Spring中所體現出的設計原則和設計模式

螞蟻課堂帶你學Java

策略模式

Spring通過把注入的過程,初始化方法的調用,通過不同的BeanPostProcessor來實現,不同的功能選擇不同的實現,避免功能的交叉,冗餘。

「Java知識點」Spring中所體現出的設計原則和設計模式

螞蟻課堂帶你學Java

小編為大家準備了一套Java的學習教程,領取方式,加群894180257即可獲得。

還有更多的視頻講解等著你。

"

相關推薦

推薦中...