제어의 역전(Inversion of Control, IoC) 파헤치기

Inversion of Control(IoC), _제어의 역전_이라고도 번역되는 이 개념은 Dependency Injection(DI)에 대한 개념을 찾아보면 반드시 등장하는 개념입니다. 처음 접했을 땐 여러 블로그의 설명을 읽어도 확실하게 이해가 되지 않아서 사전적인 정의와 예시 코드 정도만 정리하고 넘어갔었는데 안드로이드의 DI 라이브러리인 Hilt에 대해 복습을 하던 중 IoC를 간단명료하게 설명해주는 유튜브 영상을 발견하여 스스로 IoC에 대해 다시 한 번 정리하고자 글을 작성합니다.

자세히 보기

[디자인 패턴] 추상 팩토리 패턴(Abstract Factory Pattern)

추상 팩토리 패턴은 매우 복잡하고 기괴한 패턴으로 오해 받지만 실제로는 매우 간단합니다. 팩토리 메서드 패턴을 이해했다면 금세 이해하게 될 것인데, 추상 팩토리는 팩토리들의 팩토리이기 때문입니다. 팩토리가 다른 클래스를 생성할 수 있는 함수 또는 클래스이고, 추상 팩토리는 팩토리를 생성하는 클래스입니다.

위의 설명을 이해하였더라도 여전히 추상 팩토리 패턴의 사용법이 무엇인지 궁금해 할 것입니다. 실제로 추상 팩토리의 주요 용도는 프레임워크, 특히 스프링 프레임워크가 될 것입니다. 이 프레임워크는 추상 팩토리 개념을 사용하여 어노테이션과 XML 파일에서 컴포넌트를 생성합니다. 그러나 프레임워크를 직접 만드는 것은 꽤 지루할 수 있으므로 이 패턴이 매우 유용한 또 다른 예시인 전략 게임을 살펴보겠습니다.

자세히 보기