본문 바로가기
관리자

Programming-[Base]/Design, Architecture

[작성중][잠정 중단] 2. Bridge - 예제 : 구체적 이해

728x90
반응형

디자인 패턴은 글로는 이해가 되나, 아직까지 실무적으로 와닿지는 않는 것 같다. 향후 기회가 된다면 다시 공부해보자.

 


 

예시 - Remote And Device

 

리모컨이 Abstraction이고 어떤 Device를 interface로 만든다. 리모컨으로 표현되는 Remote에서는 device를 참조값으로 갖는다. device가 아니라 animal을 참조값으로 갖는다면 동물이나 사람을 조종할 수도 있지 않을까!?

 

어쨌든 device의 구현체들이 radio, tv 등이다. 이것들이 실제 기능을 하게된다. 또한 사용자는 리모컨만 있으면 어떤 device든지 켜고 끄고, 소리를 키우거나 줄일 수 있다.


 

응용처

 

실제 Bridge 패턴은 크로스 플랫폼 애플리케이션, 여러 종류의 데이터베이스를 지원하는 서비스 등에서 사용하기 유용하다고 한다. 다시 말해 서비스는 같은데(, 서비스를 이용하는 베이스가 되는 데이터 베이스를 쉽게 변경해야할 때, 비즈니스 로직은 같은데 다른 형태의 서비스를 제공해야 할 때 사용하면 좋다고 한다.

 


 

코드

 

-remote : 추상

-device : 역할

-radio, tv 등 : 구현

 

 

remote 도 interface, device도 interface 이다. 이 둘 사이의 공통적 관계 덕분에 서로 응용이 가능하다.

 

? abstract인 remote에서 device를 참조하여 사용하는 구조인데, device에서도 remote를 참조하여 사용한 구조라는 말일까?

 

 

 

 

 


 

참조

 

1. refactoring.guru 사이트 

https://refactoring.guru/

 

Refactoring and Design Patterns

Hello, world! Refactoring.Guru makes it easy for you to discover everything you need to know about refactoring, design patterns, SOLID principles, and other smart programming topics. This site shows you the big picture, how all these subjects intersect, wo

refactoring.guru

 

2. 회사 본부장 kkh님 감사합니다.

728x90
반응형