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