프로그래밍 디자인 패턴
프로그래밍 Design Pattern 이해하기 - 3 데코레이터 패턴
데코레이터(팅) 패턴 스타버즈라는 커피숍은 매우 빠른 속도로 성장한 초대형 커피전문점이다. 너무 빠른 성장을 했기 때문에 음료의 종류가 다양한데, 이 음료의 종류를 모두 포괄하는 음료 주문시스템을 만들려고 한다. 처음 사업을 시작할 때 만들어진 클래스는 아래의 구조를 띈다. - Superclass beverage는 '음료'를 나타내는 abstract 클래스며, 모든 음료수는 이를 상속받는다. - cost()는 abstract메소드로 자식클래스가 이를 새로 정의하여 가격을 구현한다. - 처음에는 4가지의 커피만 판매하고 있다. 하지만! 엄청나게 빠른 성장을 거두면서, 음료수의 종류가 폭발적으로 늘어가고 각 음료수에 우유, 두유, 모카, 생크림 등 다양한 종류가 생기면서 고민에 빠진다! 첨가물만 들어간다고 ..
프로그래밍 Design Pattern 이해하기 - 1 스트래티지패턴
지난 번 '객체지향 프로그래밍 도대체 무엇인가?' 포스팅에 이어 Head First의 Design Pattern 책을 보며 정리를 해보려고 합니다. 원문에 대해 번역을 하며 진행을 할 예정입니다. 저작권 관련 문제가 있다면 말씀해주시면 바로 관련 내용은 삭제하도록 하겠습니다. Design Pattern 이 무엇인가? 많은 개발자들이 design pattern에 대한 같은 고민을 했을 것이고 또 그것에 대한 여러가지 해답에 대해 다룰 것입니다. 이런 것을 하기 전에 design pattern이 주는 장점과 디자인 패턴의 이론, 그리고 어떻게 디자인 패턴을 풀어나갈지 알아야 합니다. 패턴을 사용하기 위해 가장 좋은 방법은 현재 구현되어 있는 여러 다른 실제 소스를 보고 고민하고 나만의 것으로 만드는 것입니다..