동일한 결과를 얻기 위해 둘 이상의 알고리즘을 설계하는 경우가 있습니다. 예를 들어, 필자는 데이터를 나무에 저장하는 클래스와 링크 된리스트에 대략 동일한 데이터를 저장하는 또 다른 클래스를 작성했습니다.클래스/메소드의 다른 구현을 사용하기위한 디자인 패턴
ThingStore라는 인터페이스 (추상 클래스)를 게시하고 TreeThingStore 및 ListThingStore에 하위 클래스로 각각 트리 또는 링크 된 목록을 사용합니다.
그러나 추상 클래스를 게시 할 때 사용할 구현을 결정할 사람이 필요합니다 (EDIT : 발신자가이 문제를 신경 쓰지 않아도 됨). 하드 코드 된. 이 작업은 한 번 이상 필요했지만 GoF 및 기타 Design Patterns 카탈로그는 불완전하게 검토했습니다. 가장 유사한 패턴은 "전략"이지만, 다양한 목표를 달성합니다.
이 의도를위한 디자인 패턴이 있습니까? 그렇지 않다면, 누군가가 이것을 만들거나 이것이 왜해서는 안되는지 (동일한 결과를 얻는 더 좋은 방법)를 말해 줄 수 있습니까?
아마 나 자신을 분명히하지 않았습니다. 호출자는 구현 방법에 상관하지 않습니다.그것이 객체를 생성하기 위해 어떤 알고리즘을 사용해야하는지 정확히 이유는 무엇입니까? –
하나의 구현은 기본이며 무료이며 다른 하나는 비용을 지불해야합니다. –