디자인 패턴(4)
-
[디자인 패턴] Strategy pattern의 의미
왜 이름이 strategy일까? strategy는 전략이다. 왜 전략일까? 왜냐하면 클라이언트나 상황에 따라 어떠한 인스턴스나 알고리즘을 사용해야 할지를 '전략적'으로 고를 수 있기 때문이다. 예를 들어, 자동차의 바퀴 인터페이스를 통해 체인 바퀴와 고무 바퀴를 만들었다고 해보자. 그러면 만약 눈이 오는 상황에서는 어떤 바퀴가 적합하겠는가? 체인 바퀴이다. 반대로 눈이 오지 않는 상황에서는 고무 바퀴가 적합하다. 이렇듯 내가 상황에 따라 어떤 바퀴를 사용해야할지를 전략적으로 선택할 수 있기 때문에 전략 패턴이다.
2023.11.24 -
[디자인 패턴] 전략 패턴에 대한 나름의 이해
전략 패턴의 정의는 다음과 같다. The Strategy Pattern defines a family of algorithms, encapsulates each one, and makes them interchangeable. Strategy lets the algorithm vary independently from clients that use it. 전략 패턴은 알고리즘의 계열을 정의하고 서로 바꿀 수 있게 한다. 예를 들어, duck 클래스를 다음과 같이 나타낼 수 있다. package duck; public abstract class DuckInheritance { public abstract void fly(); public abstract void quack(); public abstract..
2023.11.18 -
[디자인 패턴] 왜 디자인 패턴이 필요한지에 대한 나름의 이해
코드를 작성할 때 불변의 진리가 있다. 모든 건 변화한다는 것이다. 고객의 요구사항, 회사의 정책 변경, 코드 리팩토링 등 코드를 변경해야 하는 상황은 무조건적으로 존재한다. 이를 위해 디자인 패턴이 필요하다. 디자인 패턴은 이러한 변화들을 분류하여 좋은 해결방법으로 만든 것이다. 디자인 패턴의 제1원칙은 변하는 것과 변하지 않는 것을 구분하는 것이다. 예를 들어, 자동차의 바퀴의 종류는 다양할 수 있다. 하지만 자동차에 바퀴가 들어가는 사실은 변하지 않는다. 따라서 자동차의 바퀴는 자동차 클래스로부터 분리한다. 여기서 변하지 않는 것은 메소드 이름만이 아닌 내용까지도 전부 같음을 의미한다. 내용이 달라져야한다면 변하는 것이다! 디자인 패턴의 제2원칙은 인터페이스로 프로그래밍을 한다.(인터페이스를 만들고..
2023.11.17 -
[디자인 패턴] 디자인 패턴 목차를 읽고 난 후의 나름의 이해
디자인 패턴 중 Observer가 굉장히 중요하다는 것을 느꼈다. Reference Freeman, E., Robson, E., Bates, B., & Sierra, K. (2021). Head First Design Patterns (2nd ed.). Canada: O’Reilly Media, Inc.
2023.10.29