본문 바로가기

Design Pattern18

[Design Pattern] 옵저버 패턴(Observer Pattern)에 대해 알아보자 Definition Observer Pattern은 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체에게 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다(one-to-many) 의존성을 정의한다. - Behavioral Pattern Situation - 다른 객체의 상태가 변경될 때마다 어떤 이벤트를 실행하고 싶을 때 - 한 객체의 상태가 변경되면 다른 객체도 변경해야 할 수 있고 실제 객체 집합을 미리 알 수 없거나 동적으로 변경되는 경우 - 앱의 일부 객체가 다른 객체를 제한된 시간 동안 또는 특정 경우 관찰해야 할 때 - 통신에는 느슨한 결합이 필요함 - 하나 이상의 객체의 상태 변경은 다른 객체의 동작을 트리거해야 함 - 방송 기능이 필요할 때 - MVC 패턴에서 사용됨 [ViewCo.. 2022. 6. 21.
[Design Pattern] 전략 패턴(Strategy Pattern)에 대해 알아보자 Definition 전략 패턴은 알고리즘군을 정의하고 캡슐화해서 각각의 알고리즘군을 수정해서 쓸 수 있게 해 준다. 전략 패턴을 사용하면 클라이언트로부터 알고리즘을 분리해서 독립적으로 변경할 수 있다. Situation - 관련되있는 많은 클래스들 사이에 다른 점은 오직 behavior 뿐일 때 - 알고리즘의 여러 버전 또는 변형이 필요할 때 - 알고리즘은 호출 코드가 노출되어서는 안 되는 데이터에 액세스 하거나 데이터를 활용할 때 - 클래스의 동작은 런타임에 정의되어야 함 - 클래스에 동일한 알고리즘의 다른 변형 간에 전환하는 대규모 조건문이 있는 경우 Structure Pros - 요구사항이 변경되었을 때 조건문을 추가하는 등 기존의 코드를 변경하지 않고 새로운 전략에 대해 새로운 클래스로 관리하기 .. 2022. 6. 20.
300x250