SW 디자인 패턴
디자인 패턴은 소프트 웨어 설계에서 반복적으로 발생하는 문제를 해결하기 위한 재사용 가능한 솔루션으로 코드의 유연성과 재사용성, 유지보수성을 향상시킬 수 있음.
- 디자인 패턴을 사용의 장점
1) 코드 중복 감소
2) 유연성 증가
3) 확장성 증가
4) 결합도 감소 : 클래스간 결합도가 높다면, 하나의 클래스 변경이 여러 클래스에 영향을 미치게 되며 재사용성도 감소함.
DI 패턴
DI 패턴 설명
- 의존성 주입(Dependency Injection) 패턴
- 객체간 의존관계를 직접 설정하지 않고, 외부에서 주입해주는 방식
- 코드의 유연성과 재사용성을 높일 수 있음.
- 의존성 (Dependency) : 클래스가 다른 클래스의 기능 사용시, 그 클래스에 대한 의존성이 생성됨
- 주입 (Injection) : 의존하는 객체를 외부에서 주입
DI 패턴 장단점
장점
- 유연성 향상 : 재사용성이 쉬움
- 테스트 용이성 : 의존성을 주입함으로 mocking, stub 객체를 사용하여 테스트가 쉬움
- 유지보수성 향상 : 클래스간 결합도가 낮아져 코드 변경시, 영향 범위가 줄어듬
- 의존성관리 : 객체간 의존성을 명시적으로 관리할 수 있음
단점
- 초기 설정 복잡 : 의존성 주입을 설정시, 시간이 오래걸림
- 런타임 오류 가능성 : 런타임에 의존성이 주입되어서, 주입 과정에서 오류 발생 가능
