Decorator1 golang design pattern #8 Decorator Decorator 패턴은 기존의 기능은 건드리지 않고 wrapping을 하는 것입니다. go에서는 구조체 composition을 이용하여 이 패턴을 구현할 수 있습니다. 검색을 해보았을 때 피자 예제가 가장 좋은 것 같아서 이를 예시로 설명하겠습니다. 피자의 경우 제일 기본 피자를 시킨 후 여러가지 토핑을 추가할 수 있습니다. 이 때 토핑을 추가하는 것은 기존 피자는 건드리지 않고 정말 토핑만 추가하게 됩니다. (토핑을 추가한다고 기존 피자의 재료를 바꾸거나 하지는 않는다는 뜻입니다.) 예제 코드에서는 토핑마다 가격이 다를 것이므로 각 토핑을 추가할때마다 토핑에 맞는 가격이 추가되는 예제를 구현해보겠습니다. 1 2 3 type pizza interface { getPrice() int } cs 우선 pi.. 2021. 11. 13. 이전 1 다음