[스터디] 프록시 패턴
- 카테고리 없음
- 2025. 4. 23. 00:21
반응형
반응형
프로젝트에 디자인패턴을 적용을 해야 했다.
이거 아니면 리펙토링을 하던가 해야 하는데 나는 프록시 패턴을 선택했다.
선택한 이유는 그리 대단한 이유는 아니구 확장 가능성 때문에 이 패턴을 선택을 하였다.
또 내가 누누이 얘기하는데 디자인패턴은 코드와 1:1 대응이 아니라 어떻게 표현하에 따라 달라진다고 생각한다.
프록시 패턴은 프록시 객체를 사용하는 패턴이다.
사실 프록시를 사용하는 패턴은 프록시만 있는게 아니다 프록시 말고 디코레이터 패턴도 있긴한데
암튼 프록시 같은 경우 기존 코드에 부가 정보를 넣어주는 패턴이다.
변경전 클래스 다이어그램
변경된 코드 or 클래스 다이어그램
- 적용 이유 및 단점:
- 왜 해당 디자인 패턴 또는 리팩토링 기법이 적합했는가?
- 공통된 부분만 구현체로 만들고 부가적인 정보를 ProxyService를 통해 주입을 받기 때문에 프록시 패턴을 사용하는것이 적합하다고 생각했습니다.
- 어떤 상황에서 해당 패턴이 부적절했을 수도 있었는가?
- 부가적인 기능이 아니라 내용을 통으로 바꿔야 하는경우 프록시 객체의 부하가 많이 쌓일 수 있다고 생각합니다.
- 왜 해당 디자인 패턴 또는 리팩토링 기법이 적합했는가?
- 개선점:
- 실제구현체를 직접 사용하는것이 아닌 프록시 객체를 통해 전달받은 객체를 사용할 수 있다.
- 부가정보를 넣는 부분과 실제 구현정보를 구분지어서 책임을 분리시킬 수 있다.
- 부가정보를 추가하고 싶다면 Proxy객체를 추가 혹은 수정은 실 구현체를 사용하지 않는것이 가능합니다.
- 직접 구현체를 수정하는 것이 아니기 때문에 추후 프록시 객체를 바꾸면서 테스트하기 용이합니다.
반응형