IoC/DI, 전략 패턴

Dayeon myeong·2022년 3월 23일
0

면접

목록 보기
24/35

IoC / DI

  • IoC 컨테이너
    • 설명 :
      • 오브젝트가 자신이 사용할 오브젝트를 스스로 선택하지 않는다. 제어 권한을 자신이 아닌 다른 대상에게 위임. 생성자 주입과 같은 DI를 통해 IoC가 가능해진다.
    • 장점
      • 관리를 안해도 된다
    • 단점
      • 객체를 동시에 2개 생성하는 싱글톤 문제 발생
        • 해결방법
          • synchronized
          • double checked locking
          • lazy holder
          • → 상태변수가 없는 immutable 클래스
  • DI
    • 설명
      • IoC의 일종
      • 런타임 시점의 의존관계가 코드에 드러나지 않는다.
      • 제 3의 존재가 의존관계를 맺어준다
      • 의존관계는 사용할 오브젝트에 대한 레퍼런스를 외부에서 제공해줌으로써 만들어진다
    • 장점
      • 다형성
    • 단점
      • DI 방식에 따라 위험이 있다

전략 패턴

전략 패턴이란 객체가 할 수 있는 각 행위에 대해 전략 클래스를 생성하고, 인터페이스를 통해 동적으로 행동을 바꿀 수 있는 패턴을 말합니다.

단순히 전략이 1개, 2개 정도일 경우에는 분기문을 사용하는 것이 편할 수 있습니다. 전략 패턴 설계가 과도한 개발 비용을 요구할 수 있습니다. 하지만 행동의 형태가 다양한 것이 어느정도 보장된다면 사용할 수 있다고 생각합니다.

참고

토비의 스프링

profile
부족함을 당당히 마주하는 용기

0개의 댓글