간단하게 말하면 느슨하게 연결해서 도중에 특정 알고리즘을 선택하는 행위 디자인 패턴 특정한 계열의 알고리즘들을 정의하고각 알고리즘을 캡슐화하며이 알고리즘들을 해당 계열 안에서 상호 교체가 가능하게 만든다.자바 프로그래밍에서는 전략 부분을 인터페이스로 만들고 각 인터페
객체의 상태 변화를 관찰하는 관찰자들 변화가 있을 때 마다 메소드를 통해 객체가 직접 목록을 통보하는 패턴
어떤 음식점에서는 기본 메뉴에 여러가지 사이드 토핑들을 추가금을 받고 제공하는 경우가 있다.만약 하나의 메뉴에 여러가지 토핑들을 추가해서 그 요금을 산출하는 것을 구현해야 할 때, 각 경우의 수를 전부 클래스로 만들어서제공할 수 없다.그렇다면 상위 클래스에 has토핑,
🪢 Observer 패턴 - Java.util 사용 ⛱ 서론 기존의 옵저버 패턴 포스팅에서는 직접 옵저버, 주제에 대한 인터페이스를 만들어 느슨한 연결로 관리하도록 만들었다. Java util 에서 해당 작업을 라이브러리로 만들어놓은 것이 있고, 이번 포스팅에서는
📗 가장 기본적인 Factory ⚠ Factory를 사용하지 않았을 때 예를 들어서 만약 프렌차이즈 음식점을 오픈한다고 생각해보자. 서울 각 구 마다 한 지점씩... 강남점, 마포점, 용산점, 영등포점....... 상당히 많은 지점이 생길 것이다. 코드로 구현한다면
앞선 글에서 기본적인 Factory 방법을 이용하여, 음식을 만드는 부분을 분리하여 만들었다.그 결과, 각 지점의 클래스들을 수정하지 않고 하나의 클래스로만 메뉴를 관리 할 수 있게 되었다.하지만, 만약 각 지점에서 메뉴들을 지점마다 다른 조리방법을 사용한다면 해당 방