의존성 주입

Clean Architecture in Python
https://youtu.be/C7MRkqP5NRI?si=NHG-qDp1cweFg7ue 이 글은 위의 영상을 정리하기 위해 필자의 개인적인 생각과 함께 작성된 글입니다.소프트웨어 아키텍처를 설계하고 이를 개발해 나갈 때 아래와 같은 고민을 하게 된다."어떻게 하면 변화에 강하고 확장 가능한 시스템을 만들 수 있을까?"이에 대한 답변으로 영상에서는 Clean Architecture를 위한 "The Golden Rule"을 제시한다. 이는 의존성 역전 원칙(Dependency Inversion Principle, DIP)을 바탕으로 시스템을 내부와 외부로 명확히 구분하여 유연성과 확장성을 극대화해야 한다는 원칙을 담고 있다고 생각한다.Clean Architecture우선, Clean Architecture를..

[Spring] 의존성 주입이란?
의존성 주입(Dependency Injection)은 스프링의 핵심 개념 중 하나로 흔히 DI로 줄여 쓰기도 한다. 의존관계 주입이라고 하기도 하고 다양한 번역이 존재하지만 이 글에선 의존성 주입으로 통일하도록 하겠다. 1. 의존성 (Dependency) 의존성 주입에 대해 알기 전에 의존성이 무엇인지 알아봐야 할 필요가 있다. 일단 '의존한다'라는 것은 무엇일까? 흔히 우리가 '철수가 영희에게 의존한다'라는 표현을 하면 철수가 영희에 의해 좌지우지된다고 생각할 수 있다. 즉, 영희의 행동과 상태의 변화가 일어나면 그 영향이 철수에게도 미친다는 것이다. 철수와 영희를 프로그램의 일부로써 생각한다면 영희의 기능 변경이나 추가가 철수에도 영향을 끼친다는 것이다. 의존대상 B가 변하면, 그것이 A에 영향을 미..