Skip to content

CHAPTER 8 행동 디자인 패턴 - 2 #10

@audxo112

Description

@audxo112

8.4 전략 패턴

코드에서 if-else 분기 판단문이나 switch-case 분기 판단문을 제거해야 하는 상황에는 어떤 것이 있는지 생각해보자

8.5 책임 연쇄 패턴

책임 연쇄 패턴을 사용하면 프레임워크 코드가 개방 폐쇄 원칙을 충족하도록 만들 수 있다. 새 핸들러가 추가될 때는 클라이언트 코드만 수정하면 되는데, 이때 클라이언트 코드도 개방 폐쇄 원칙을 만족시키기 위해, 코드를 수정하지 않고 새 핸들러를 추가 할 수 있는 방법이 있는지 생각해보자

8.6 상태 패턴

이번 절에서 살펴본 상태 패턴 기반의 코드에서 여전히 몇 가지 문제점이 있다. 예를 들어 모든 이벤트 함수가 상태 인터페이스에 정의되어 있기 때문에, 상태 클래스가 이러한 이벤트 중 일부를 지원할 필요가 없더라도, 모든 이벤트에 대응하는 함수를 구현해야 한다. 뿐만 아니라 상태 인터페이스에 이벤트를 추가하면 모든 상태 클래스가 그에 따라 수정되어야 한다. 이 문제를 어떤 식으로 해결할 수 있을지 생각해보자.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions