본문 바로가기
My Image
반응형

프로그래밍/Design_Pattern9

[Design_Pattern] 탬플릿 콜백 패턴(Template Callback Pattern) 안녕하세요. Limky 입니다. 이번 시간엔 Strategy 전략 패턴에 이어 탬플릿 콜백 패턴(Template Callback Pattern)을 알아보겠습니다. 탬플릿 콜백 패턴(Template Callback Pattern)은 전략 패턴의 변형으로 DI (Dependency injection) 의존성 주입에서 사용하는 특별한 전략 패턴입니다. 탬플릿 콜백 패턴은 전략 패턴에 익명 내부 클래스를 가미해서 사용하는 방법입니다. 전략 패턴을 혹시 모르시면 아래 글을 참고 하시면 됩니다. 2017/08/28 - [Design_Pattern] - [Design_Pattern] 전략 패턴(Strategy Pattern) 자 바로 예제를 보겠습니다. 원래 기존 전략패턴에서 필요했던 구체클래스들은 StrategyG.. 2017. 8. 29.
[Design_Pattern] 전략 패턴(Strategy Pattern) 안녕하세요 Limky입니다. 이번 시간은 전략 패턴(Strategy Pattern)에 대해서 알아보겠습니다. 디자인 패턴의 꽃이라고 할 정도로 전략 패턴(Strategy Pattern)은 꼭 기억해야 하는 중요한 패턴입니다. 먼저 전략 패턴(Strategy Pattern)을 구성하는 3가지 요소가 무엇인지 알아야 합니다. 1. 전략 메서드를 가진 전략 객체 2. 전략 객체를 사용하는 컨텍스트(전략 객체의 사용자/소비자) 3. 전략 객체를 생성해 컨텍스트에 주입하는 클라이언트(제3자, 전략 객체의 공급자) 위 도식을 클래스 다이어그램으로 표현하면 다음과 같습니다. 클라이언트는 다향한 전략 중에 현재 상황에 적합한 전략을 생성해 컨텍스트에게 전략 객체를 주입합니다. 즉 Strategy Interface를 구.. 2017. 8. 28.
[Design_Pattern] 팩토리 메서드 패턴(Factory Method Pattern) 안녕하세요 Limky입니다. 이번시간은 팩토리 메서드 패턴(Factory Method Pattern)에 대해서 알아보겠습니다. 팩토리 메서드 패턴(Factory Method Pattern)의 팩토리 메소드는 객체를 생성해서 반환하는 것을 말합니다. 즉 결과 값이 객체인 것입니다. 디자인 테이블과 예제를 보면서 바로 알아보겠습니다. 구체클래스는 인퍼페이스를 implements하지만, 저는 추상클래스로 구현 형식을 강제해보겠습니다. 예제에서는 추상클래스안에 추상메서드를 두었고, 구체클래스가 이를 재정의해서 구현하도록 설계했습니다. 먼저 Pizza라는 추상클래스를 두고 각 구체적인 토마토,페페로니 피자인 구체클래스들은 상속을 받아 각자의 스타일에 맞게 구현합니다. 마찬가지로 Factory 추상클래스를 만들고 .. 2017. 8. 28.
[Design_Pattern] 템플릿 메서드 패턴(Template Method Pattern) 안녕하세요. Limky입니다. 이번 시간은 템플릿 메서드 패턴(Template Method Pattern)에 대해서 알아보겠습니다.바로 예제를 보겠습니다. 자동 기어 변속 하는 자동차가 있고, 수동 기어 변속을 하는 자동차가 있다고 칩시다.위와 같이 playWithOwner()메서드는 동일하게 구현되어 있지만, 가운데 자동 기어 변속인지 기어를 수동으로 조작 하는지에 대해서는 서로 다릅니다. 이럴 경우 템플릿 메서드 패턴(Template Method Pattern)을 사용해서 설계하면 됩니다.템플릿 메서드 패턴 디자인 테이블을 먼저 봅시다. 한꺼번에 구체클래스를 구현하지 않고 추상클래스의 템플릿 메서드를 구현해 놓으면, 구체클래스 가 상속받아 자신이 필요한 메서드들을 작성해주는 방식입니다. 자 이제 템플.. 2017. 8. 27.
반응형