iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 13
0
Modern Web

Spring Boot and React - 前後端 30 天分手日記系列 第 13

Day 13 - 什麼是IOC控制反轉? 什麼是DI依賴注入?

  • 分享至 

  • xImage
  •  

Day 12 - Controller And RESTful (2)

在講Serivce之前有兩個很重要的觀念要講, 也是Spring框架核心的部分

大家都知道Java是物件導向的程式語言, 而物件導向設計(OOD)大幅提升了程式碼的維護與重用性

但也帶來了類別與類別之間的依賴關係, 若專案不斷的擴張發展, 這耦合性是很可怕的

而Spring Framework很好的解決了這個問題。

IOC (Inversion of Control) 控制反轉 & DI (Dependency Injection) 依賴注入

通常網路上的文章都會兩個一起講, 為什麼呢? 因為這兩個其實是有關聯的

控制反轉是一種設計原則、一種概念,而依賴注入則是實現這種概念的方式

假設我們的程式碼有A Class 與 B Class

要在A裡面使用B的功能, 必須new 一個 B Class

則A就會對B依賴, 若有一天需更動B裡面的功能,A的邏輯也必須更動

隨著專案成長, 一層包一層, 依賴越來越嚴重, 維護起來非常不易

控制反轉就是為了解決這種依賴問題, 而衍生出來的設計模式

而要怎麼反轉呢? 就是靠Interface介面與依賴注入來實現

其實我們在前面的章節就有用到

Dao層的Repository, 我們在使用時並不會new 一個新的實體

而是用了@Autowired, 讓Spring幫我們自動注入與管理

下一章會利用Serivce來做為範例講解

Day 14 - Service And Dependency Injection


上一篇
Day 12 - Controller And RESTful (2)
下一篇
Day 14 - Service And Dependency Injection
系列文
Spring Boot and React - 前後端 30 天分手日記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
bizpro
iT邦大師 1 級 ‧ 2021-07-30 15:40:26

言簡意賅
言之有物

0
_378
iT邦新手 5 級 ‧ 2023-08-10 20:32:02

物件導向不是OOP嗎,還是文章中說的OOD是有特殊的意義。

我要留言

立即登入留言