본문 바로가기

헤드퍼스트 디자인패턴2

디자인패턴 - 옵저버 패턴 (Observer Pattern) 1. 옵저버 패턴이란 - 옵저버 패턴은 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체에게 연락이 가고 자동으로 내용이 갱신되는 방식으로 1대다 (one-to-many) 의존성을 정의한다. - 디자인 원칙인 변경 가능성이 있는 부분과 그렇지 않은 부분을 분리하고, 구현보다는 인터페이스에 맞추어 프로그래밍하며, 상속보다는 구성을 활용하는 원칙을 준수한다. - 추가로 느슨한 결합을 사용하여 프로그램의 유연성이 매우 좋아진다. 느슨한 결합이란, 객체들의 상호작용은 가능하지만, 서로에 대해서 잘 모르는 관계를 이야기한다. 즉 주제는 옵저버의 구상 클래스가 무엇인지, 어떤 역할을 하는지에 대해 알 필요가 없으며 주제나 옵저버가 달라져도 각 주제 혹은 옵저버를 구현한다는 조건만 만족하면 수정이 자유롭다. 구.. 2023. 2. 6.
디자인패턴과 전략패턴 디자인 패턴이란? 프레임워크나 라이브러리를 이용하면 다른 사람이 만들어 놓은 방대한 양의 코드를 그대로 활용하여 수많은 기능을 사용할 수 있다. 적절한 구성요소를 선택해서 제 자리에 넣기만 하면 해당 기능을 구현할 수 있기 때문이다. 하지만 이런 기능들이 어플리케이션의 구조를 만드는데, 관리하기 용이하게 하는데에 도움을 주지는 않는다. 이를 위해서 라이브러리보다 더 높은 단계에서 소프트웨어 구조에 대해서 이해하기 쉽고, 관리하기 유연하게 만들어주는 것이 바로 디자인 패턴이다. 이런 디자인 패턴에는 몇가지 원칙이 있다. 어플리케이션에서 달라지는 부분과 달라지지 않는 부분을 분리한다. 구현보다는 인터페이스에 맞춰서 프로그래밍 한다. 상속보다는 구성을 활용한다. 먼저 달라지는 부분과 달라지지 않는 부분을 분리.. 2022. 12. 28.