[디자인 패턴] 왜 디자인 패턴이 필요한지에 대한 나름의 이해

2023. 11. 17. 22:21디자인 패턴

코드를 작성할 때 불변의 진리가 있다. 모든 건 변화한다는 것이다.

고객의 요구사항, 회사의 정책 변경, 코드 리팩토링 등 코드를 변경해야 하는 상황은 무조건적으로 존재한다.

이를 위해 디자인 패턴이 필요하다.

디자인 패턴은 이러한 변화들을 분류하여 좋은 해결방법으로 만든 것이다.

 

디자인 패턴의 제1원칙은 변하는 것과 변하지 않는 것을 구분하는 것이다. 

예를 들어, 자동차의 바퀴의 종류는 다양할 수 있다. 하지만 자동차에 바퀴가 들어가는 사실은 변하지 않는다. 따라서 자동차의 바퀴는 자동차 클래스로부터 분리한다. 여기서 변하지 않는 것은 메소드 이름만이 아닌 내용까지도 전부 같음을 의미한다. 내용이 달라져야한다면 변하는 것이다!

디자인 패턴의 제2원칙은 인터페이스로 프로그래밍을 한다.(인터페이스를 만들고 그것을 구체화한다)

자동차의 바퀴를 자동차로부터 분리하였다. 하지만 자동차는 바퀴가 필요하다. 이것은 불변이다(하늘을 나는 자동차가 나오기 전까지는). 다라서 자동차 클래스와 자동차 바퀴를 연결해줘야 한다. 이때 자동차 클래스가 자동차 바퀴 구현체가 아닌 자동차 바퀴 인터페이스에 의존하게 한다. 

 

Reference


Freeman, E., Robson, E., Bates, B., & Sierra, K. (2021). Head First Design Patterns (2nd ed.). Canada: O’Reilly Media, Inc.