# Design Pattern 學習筆記
###### tags: `Design Pattern` `學習紀錄`
## 五大原則
* Single Responsibility Principle
* 縮寫SRP : 單一職責原則
* Open Closed Principle
* 縮寫OCP : 開閉原則
* Liskov Substitution Principle
* 縮寫LSP : 里氏替換原則
* Interface Segregation Principle
* 縮寫ISP : 介面隔離原則
* Dependency Inversion Principle
* 縮寫DIP : 依賴反轉原則
### 隨著時間演進加了兩個原則
* Composite/Aggregate Reuse Principle
* 縮寫CARP : 合成/聚合複用原則
* Least Knowledge Principle
* 縮寫LKP : 最少知識原則
## 策略模式
*
## 研讀心得
### Dependency Injection
* [參考網址](https://ithelp.ithome.com.tw/articles/10213983)
* [中文解釋](https://kknews.cc/zh-tw/news/mzzoz2.html)
* [如何理解 laravel IOC 的容器](http://blog.twbryce.com/%E5%A6%82%E4%BD%95%E7%90%86%E8%A7%A3laravel-%E7%9A%84ioc-%E5%AE%B9%E5%99%A8/)
* [詳細的 laravel IOC 相關投影片解釋](https://www.slideshare.net/shengyou/from-apprentice-to-artisan)
* 在 CICD 環境中,composer install 前,provider 使用 DB 資料當作條件判斷依據的話會因為資料庫尚未建立而出錯
* [可能是解法的網站](https://laracasts.com/discuss/channels/laravel/base-table-not-found-during-composer-install)