본문 바로가기

Design Pattern2

Dependency Injection(의존성 주입) 의존성 주입이란? 싱글톤 패턴은 사용하기 쉽고 실용적이지만 모듈간의 결합을 강하게 만들 수 있다는 단점이 존재 의존성 주입(DI, Dependency Injection)을 통해 모듈간의 결합을 조금 더 느슨하게 만들어 해결 가능 의존성이란? 종속성이라고도 하며 A가 B에 의존성이 있다는 것은 B의 변경 사항에 대해 A 또한 변해야 한다는 뜻 메인 모듈이 직접 다른 하위 모듈에 대한 의존성을 주는 것이 아닌 중간에 의존성 주입자가 이 부분을 가로채 메인 모듈이 간접적으로 의존성을 주입하는 방식 메인 모듈은 하위 모듈에 대한 의존성이 떨어지게 된다. 서비스를 사용하려는 수신객체(클라이언트)가 해당 서비스의 구성방법을 알 필요가 없게 하는 것 디커플링된다 라고도 표현함. 컴파일타임이 아닌 런 타임에 종속성을 .. 2022. 6. 21.
Singleton Pattern(싱글톤 패턴) 싱글톤 패턴이란? 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴 데이터베이스 연결 모듈에 많이 사용 장점 고정된 메모리 영역을 얻고 new인스턴스를 한번 사용하기 때문에 메모리 낭비를 방지한다 싱글톤으로 만들어진 클래스의 인스턴스는 전역이므로 다른 클래스의 인스턴스들이 데이터 공유에 용이하다. 두번째 이용부터 객체 로딩 시간이 줄어 성능이 좋아진다. 단점 너무 많은 데이터를 공유할 경우 다른 클래스의 인스턴스들 간의 결합도가 높아져 "개방-폐쇄 원칙"을 위배한다. 수정이 어려워지고 유지보수의 비용이 높아질 수 있다 꼭 필요한 경우가 아니면 지양해야 한다. 2022. 6. 18.