Bridge Pattern

Bridge Pattern (๋ธŒ๋ฆฌ์ง€ ํŒจํ„ด)

Bridge-Pattern
  • ์ถ”์ƒ์„ ๊ตฌํ˜„์œผ๋กœ๋ถ€ํ„ฐ ๋ถ„๋ฆฌํ•˜์—ฌ ๋…๋ฆฝ์ ์œผ๋กœ ๋ณ€ํ•˜๊ฒŒ ํ•˜๋Š” ํŒจํ„ด

  • ์ถ”์ƒ ํด๋ž˜์Šค Abstraction๊ณผ ๊ตฌํ˜„ ์ธํ„ฐํŽ˜์ด์Šค Implementor๋Š” ํฌํ•จ ๊ด€๊ณ„๋ฅผ ๊ฐ–๋Š”๋ฐ, ์ด ๊ด€๊ณ„๋ฅผ bridge๋ผ๊ณ  ํ•œ๋‹ค.

  • ๋ธŒ๋ฆฌ์ง€ ํŒจํ„ด์€ ์ฃผ๋กœ ๊ตฌํ˜„ ๋‹จ์—์„œ ๋ณ€ํ™”๊ฐ€ ์žฆ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

๊ตฌ์„ฑ

  • ์™ผ์ชฝ์—๋Š” abstract class์™€ operation์ด ์ •์˜๋œ๋‹ค.

  • ์˜ค๋ฅธ์ชฝ์—๋Š” implement๋˜๋Š” ์—ฌ๋Ÿฌ ๋ฒ„์ „์ด ํ•˜๋‚˜์˜ interface๋กœ ๋ฌถ์—ฌ ์žˆ๋‹ค.

Bridge & Adapter

๋ธŒ๋ฆฌ์ง€ ํŒจํ„ด์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์–ด๋Œ‘ํ„ฐ ํŒจํ„ด๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

Bridge-Adapter

๋ธŒ๋ฆฌ์ง€ ํŒจํ„ด ์˜ˆ์‹œ - ๋„ํ˜•(Shape)๊ณผ ๋„ํ˜• ๊ทธ๋ฆฌ๊ธฐ ๋„๊ตฌ(Drawing)

Bridge-Example

์œ„์™€ ๊ฐ™์ด ์„ค๊ณ„ํ•˜๋ฉด ์ถ”์ƒ ๊ณ„์ธต์—์„œ๋Š” ๊ตฌํ˜„ ๊ณ„์ธต์˜ ์ธ์Šคํ„ด์Šค draw๋ฅผ ํ†ตํ•ด draw ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ๋งŒ ํ•˜๋ฏ€๋กœ, draw๊ฐ€ ๋‚ด๋ถ€์ ์œผ๋กœ ์–ด๋–ค ๋ณ€ํ™”๊ฐ€ ์ผ์–ด๋‚˜๋“  draw ๋ฉ”์„œ๋“œ์˜ ๋ช…์นญ์—๋งŒ ๋ณ€ํ•จ์ด ์—†๋‹ค๋ฉด ๋ณ€ํ™”๋ฅผ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

Last updated