자바
-
[디자인패턴] 데코레이터 패턴 (Decorator Pattern)IT, 프로그래밍/Design Patterns 2017. 10. 21. 19:22
데코레이터 패턴(Decorator pattern)이란 주어진 상황 및 용도에 따라 어떤 객체에 책임을 덧붙이는 패턴으로, 객체에 추가적인 요건을 동적으로 첨가하며, 기능 확장이 필요할 때 서브클래싱 대신 쓸 수 있는 유연한 대안이 될 수 있다. 복잡해 보이는 설명을 예시로 한 번 풀어서 표현해 보겠습니다. (본문에 나오는 예시가 아주 좋아서 그 주제를 가지고 설명하겠습니다.) 이 글을 보고 계시는 대부분의 분들이 카페에 한 번쯤 가보셨다고 생각을 합니다. 카페에 가서 주문을 하는 상황을 한 번 상상해 봅시다. 문을 밀고 들어가서 카운터에서 점원에게 주문을 합니다. "따뜻한 카페라떼 한 잔 주세요!", 옆에서 커피가 나오는 동안 기다리는데, 다른 손님이 들어와서 주문을 합니다. "카라멜 프라푸치노에, 헤이..
-
[디자인패턴] 옵저버 패턴 (Observer Pattern)카테고리 없음 2017. 10. 3. 01:26
위키백과 = 객체의 상태 변화를 관찰하는 관찰자들, 즉 옵저버들의 목록을 객체에 등록하여 상태 변화가 있을 때마다 메서드 등을 통해 객체가 직접 목록의 각 옵저버에게 통지하도록 하는 디자인 패턴이다. 즉, 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고, 자동으로 내용이 갱신되는 일대다(one-to-many) 의존성을 정의하는 디자인 패턴입니다. 동작원리 책에서는 신문이나 잡지를 구독을 예제로 들고 있습니다. 신문을 구독하는 과정을 나열해 보겠습니다. 1. 신문을 구독 하기 위해 신문사에 구독 신청을 합니다. 2. 신문사는 새로운 신문이 나오면 구독자에게 배달을 해 줍니다.구독을 하는 동안은 계속 해서 신문을 받을 수 있습니다. 3. 더 이상 신문을 구독하고 싶지 않아서 해지 신..
-
[디자인패턴] 스트래티지 패턴 (Strategy Pattern)IT, 프로그래밍/Design Patterns 2017. 9. 23. 01:25
스트래티지 패턴 (Strategy Pattern) = 알고리즘군을 정의하고 각각을 캡슐화하여 사용할 수 있도록 만든다. 스트래티지를 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경 할 수 있다. 상당히 설명이 어렵습니다. 처음 듣는 사람은 한 번에 이해 하기가 어려운 설명입니다. 위키 백과에서 한 번 볼까요? In computer programming, the strategy pattern (also known as the policy pattern) is a behavioural software design pattern that enables selecting an algorithm at runtime. The strategy patterndefines a family of al..