Dependency Injection Container & Swinject Dependency Injection Container = DI Container = Dependency Container = IoC Container DI Container란? 의존성 주입을 해줄때는 밖에서 인스턴스를 만들어서 주입하므로 앱의 여러군데에서 주입이 일어난다. => 인스턴스를 만드는 위치가 "분산" 되어있다. Container는 모든 인스턴스를 다 가지고 있어 모두 관리 Container에 앞으로 내가 사용할 모든 인스턴스를 다 만들어서 등록(register) 및 관리 필요한 시점에 Container에게 특정타입의 인스턴스를 달라고 하면 Container가 꺼내준다(resolve) Swinject // example 1 // Service : Animal // Component 1 : Ca.. 2022. 3. 14. Dependency Injection, 의존성 주입 Dependency, 의존성 위에 그럼 처럼 B 클래스(상위계층)에서 A 클래스(히위계층) 를 내부에 변수로 사용한다 B 클래스(상위계층)는 A 클래스(하위계층)에 의존관계가 생기게 됩니다. => 상위계층은 하위계층에 의존하게 된다 객체가 의존성을 스스로 생성 Dependency Injection, 주입 내부가 아니라 외부에서 객체를 생성해서 넣어주는 것 객체가 의존성을 스스로 생성하고 관리하지 않는다 우리가 객체에 의존성을 주입시킴으로써 의존 관계 역전 법칙으로 의존 관계를 분리 IoC, Inversion of Control, 의존 관계 역전 예를 들어 A 객체에서 B 객체가 필요하다고 할 때(A는 B에 의존), A 클래스에는 B인스턴스를 직접 생성하여 사용할 수 있다 문제는 B의 구현체가 변경되었을 .. 2022. 3. 11. SOLID 원칙 SOLID 원칙 로버트.C마틴이 "객체 설계"를 할 때 중요하게 생각하는 것으로 제시한 다섯 가지 원칙 장점 1. 모듈화를 통해 재상용성이 높은 코드를 만들고 생산성을 높일 수 있다 2. 테스트 가능한 코드를 만들고 관리할수있어, 테스트 코드의 장점을 취할수 있다. TDD : https://yongminlee26.tistory.com/348?category=569784 3. 변경에 유연하며 확장성이 높은 코드를 만들수 있다. 4. 유지보수의 리소스가 줄어든다. 종류 1. SRP (Single-Responsibility Principle), 단일 책임 원칙 2. OCP (Open-Close Principle), 개방 폐쇄 원칙 3. LSP (Liskov Substitution Principle), 리스코프.. 2021. 12. 23. 이전 1 다음