TIL/디자인 패턴 2

디자인 패턴 - 전략 패턴 (Strategy Pattern)

전략 패턴 또는 정책 패턴이라고 하며 이는 실행 중에 알고리즘을 선택할 수 있게 하는 패턴 예를 들어 과일 매장에서 상황에 따른 가격할인 정책을 적용하고 있다고 가정한다. 1. 매장에 들어온 첫번째 손님 할인정책 2. 저녁시간대에 신선도가 떨어진 과일에 대한 할인정책 public class Calculator { public int calculate(boolean firstGuest, List items) { int sum = 0; for (Item item: items) { if (firstGuest) { sum += (int) (item.getPrice() * 0.9); } else if (!item.isFresh()) { sum += (int) (item.getPrice() * 0.8); } els..

디자인 패턴이란?

객체지향 설계는 소프트웨어로 해결하고자 하는 문제를 다루면서 동시에 재설계 없이 또는 재설계를 최소화 하면서 요구 사항의 변화를 수용할 수 있도록 만들어준다. 이렇듯 객체 지향 설계를 하다보면 이전과 비슷한 상황에서 사용했던 설계를 재사용 하는경우가 종종 발생 하는데, 이렇게 반복적으로 사용되는 설계는 클래스, 객체의 구성, 객체간 메시지 흐름에서 일정 패턴을 갖는다. 이러한 패턴은 다음과 같은 장점을 가진다. 1. 상황에 맞는 올바른 설계를 더 빠르게 적용할 수 있다. 2. 각 패턴의 장단점을 통해서 설계를 선택하는데 도움을 얻을 수 있다. 3. 설계 패턴에 이름을 붙임으로써 시스템의 문서화, 이해, 유지보수에 도움을 얻을 수 있다. 출처 : 개발자가 반드시 정복해야할 객체 지향과 디자인 패턴