⚡브리지 패턴이란?
브리지 패턴(Bridge Pattern)은 객체의 구현부와 추상적인 부분을 분리하여 각각을 독립적으로 변형할 수 있게 하는 디자인 패턴 중 하나이다. 브리지 패턴을 사용하면 추상화와 구현을 분리하여 클래스 간의 결합도를 낮출 수 있으며, 이는 코드의 재사용성과 유연성을 높일수 있게 해준다.
브리지 패턴은 크게 추상화(Abstraction)와 구현(Implementation) 두 가지로 구성된다. 추상화는 구현부에서 독립적으로 존재하는 객체의 추상 인터페이스를 정의하며 구현은 추상화에 정의된 인터페이스를 구현하는 구체 클래스를 제공한다.
⚡브리지 패턴은 어떤 경우에 사용하는가 ?
- 추상화와 구현이 각각 독립적으로 확장해야 하는 경우
- 추상화와 구현의 결합도를 낮추고자 하는 경우
- 상속으로 인한 클래스 계층의 급격한 증가를 방지하고자 하는 경우
- 다양한 플랫폼에서 실행될 수 있는 코드를 작성해야 하는 경우
- 개발에서 사용 가능한 경우
- 데이터베이스 연동
- 네트워크 통신
- 플러그인 시스템
- UI 개발
- 하드웨어 연동
쉽게 기능 기준으로 최상위 클래스가 존재하고, 최상위 클래스를 기준으로 공통적인 기능을 구현하기 위한 인터페이스를 정의하고 하위에서 기능도 확장하고 실제 기능도 구현이 가능할때 사용하면 된다.
⚡브리지 패턴의 장단점
장점
- 추상화된 인터페이스와 구현된 클래스를 분리하여 유연한 확장이 가능하다. 새로운 클래스를 추가하거나 변경할 때, 기존 코드를 수정하지 않고도 새로운 클래스와 연결하여 쉽게 확장할 수 있게 해준다.
- 코드의 재사용성을 높여준다. 구현된 클래스와 추상화된 인터페이스를 분리하여 구현 클래스를 재사용하거나 다른 구현 클래스와 연결하여 쉽게 재사용할 수 있습니다.
- 코드의 가독성을 높여준다. 추상화된 인터페이스와 구현된 클래스를 분리하여 코드의 의미를 명확하게 전달할 수 았다.
단점
- 코드의 복잡성이 증가한다. 브리지 패턴을 구현하려면 클래스 간의 연결이 필요하므로 코드의 복잡성이 증가할 수 있다.
- 추상화된 인터페이스와 구현된 클래스를 분리하는 것이 코드의 중복을 일으킬 수 있다. 구현된 클래스 간의 공통점이 많은 경우 추상화된 인터페이스와 구현된 클래스를 분리하는 것이 중복된 코드를 일으킬 수 있다.
- 브리지 패턴을 적용하면 런타임에 객체가 생성되므로 약간의 성능 저하가 발생할 수 있다. 하지만 대부분의 상황에서는 성능에 큰 영향을 미치지 않는다.
⚡브리지 소스 정리
⚡생각
브리지 패턴을 사용하면 기존의 코드를 변경하지 않고도 새로운 기능을 추가하거나 수정할 수 있기때문에 유지보수성이 우수해집니다. 또한 코드의 재사용성을 높여 개발 시간과 비용을 절감할 수 있습니다. 하지만 구현할 때 클래스 간의 결합도를 최소화하면서도 추상화와 구현의 분리를 유지하는 것이 중요 하다고 생각을 한다. 그렇지 않으면 코드의 복잡성이 증가할 수 있고, 중복된 코드가 발생할 수 있게 된다. 따라서 구현할 기능이 복잡하거나 확장성과 유지보수성을 고려해야 하는 경우에 적절하게 사용해야 한다. 브리지 패턴을 이해하고 구현하기 위해서는 객체 지향 프로그래밍의 기본 개념과 원칙에 대한 이해가 필요하다. 공부하자!
'디자인 패턴' 카테고리의 다른 글
[디자인 패턴] 데코레이터 패턴에 대한 내용 정리 (0) | 2023.03.28 |
---|---|
[디자인 패턴] 복합체 패턴에 대한 내용 정리 (0) | 2023.03.26 |
[디자인 패턴] 어댑터 패턴에 대한 내용 정리 (0) | 2023.03.24 |
[디자인 패턴] 프로토 타입 패턴에 대한 내용 정리 (0) | 2023.03.21 |
[디자인 패턴] 빌더 패턴에 대한 내용 정리 (0) | 2023.03.20 |