코드가 조금 길어지더라도, 명시적인 것이 좋다고 생각한다. IoC나 DI는 중요하다. 하지만 이로 인해 코드를 이해하기 힘들어지면 안 된다. 의존성을 주입하되, 명확히 어떤 의존성이 주입되는지 미래의 메인테이너는 이를 쉽게 파악할 수 있어야 한다. 내가 아닌 다른 사람이 와도 명확히 이해할 수 있는 코드를 작성할 수 있게 항상 고민하자.
Design patterns can’t teach you software architecture. They aren’t meant as an excuse to write a lot of code or a way to avoid thinking deeply about design. But they can help you think about your designs at a higher level of abstraction. And that’s probably what the Gang of Four were hoping all along.