[바미] Go - Decorator 패턴
Decorator? 기본 기능에 추가할 수 있는 많은 종류의 부가 기능에서 파생되는 다양한 조합을 동적으로 구현할 수 있는 패턴입니다. 실제 예로 들면 Data를 어떤 사람에게 보낼려 할 때 '압축'을 해서 보낸다던지, '암호화'를 해서 보낸다던지, 나중에 추적할 수 있도록'log'를 단다던지, 마케팅 서버가 있다면 그 곳에 보낸다던지, 등의 기능들이 추가 되는 것이 Decorator입니다. 그렇다면 왜 Decorator를 사용할까요? 앞서 설명했던 '압축', '암호화', 'log', '마케팅요소'등을 하나로 뭉쳐서 만들 수도 있지만 이 부가 기능들은 대체로 잘 바뀌는 특성이 있습니다. 그래서 Data(오리지날 기능)는 바뀌지 않는데, 부가 기능들이 바뀔 때 마다 다 바꾸어 주어야 하기 때문이며, 이는 ..