๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“ŒCS/Design Pattern

[Design Pattern] ์–ด๋Œ‘ํ„ฐ ํŒจํ„ด(Adapter Pattern)

by dar0m! 2021. 5. 2.

๊ฐœ๋…

์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ถˆ์ผ์น˜๋ฅผ ํ•ด๊ฒฐํ•ด์„œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”๊ตฌํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ. ํ˜ธํ™˜์„ฑ์ด ์—†๋Š” ์ธํ„ฐํŽ˜์ด์Šค ๋•Œ๋ฌธ์— ํ•จ๊ป˜ ๋™์ž‘ํ•  ์ˆ˜ ์—†๋Š” ํด๋ž˜์Šค๋“ค์ด ํ•จ๊ป˜ ๋™์ž‘ํ•˜๋„๋ก ํ•ด์ค€๋‹ค.

์˜ˆ์‹œ ( ์ถœ์ฒ˜ : https://jusungpark.tistory.com/22)
์–ด๋Œ‘ํ„ฐ ํŒจํ„ด ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ (์ถœ์ฒ˜ : https://jusungpark.tistory.com/22)

ํด๋ผ์ด์–ธํŠธ์—์„œ ์–ด๋Œ‘ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

  1. ํด๋ผ์ด์–ธํŠธ์—์„œ ํƒ€๊ฒŸ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•จ์œผ๋กœ์จ ์–ด๋Œ‘ํ„ฐ์— ์š”์ฒญ์„ ํ•œ๋‹ค.
  2. ์–ด๋Œ‘ํ„ฐ์—์„œ๋Š” ์–ด๋Œ‘ํ‹ฐ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ทธ ์š”์ฒญ์„ ์–ด๋Œ‘ํ‹ฐ์— ๋Œ€ํ•œ ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.
  3. ํด๋ผ์ด์–ธํŠธ์—์„œ๋Š” ํ˜ธ์ถœ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›๊ธด ํ•˜์ง€๋งŒ ์ค‘๊ฐ„์— ์–ด๋Œ‘ํ„ฐ๊ฐ€ ๊ปด ์žˆ๋Š”์ง€๋Š” ์ „ํ˜€ ์•Œ์ง€ ๋ชปํ•œ๋‹ค.

 

์žฅ์ 

  • ์ธํ„ฐํŽ˜์ด์Šค ๋ถˆ์ผ์น˜ ํ•ด๊ฒฐ
  • ํด๋ผ์ด์–ธํŠธ์™€ ๊ตฌํ˜„๋œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ถ„๋ฆฌ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.
  • ํ–ฅํ›„ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋ฐ”๋€Œ๋”๋ผ๋„ ๋ณ€๊ฒฝ ๋‚ด์—ญ์€ ์–ด๋Œ‘ํ„ฐ์— ์บก์Šํ™”๋˜๊ธฐ ๋•Œ๋ฌธ์— ํด๋ผ์ด์–ธํŠธ๋Š” ๋ฐ”๋€” ํ•„์š”๊ฐ€ ์—†๋‹ค.

 

์ข…๋ฅ˜

(์ขŒ)๊ฐ์ฒด ์–ด๋Œ‘ํ„ฐ, (์šฐ)ํด๋ž˜์Šค ์–ด๋Œ‘ํ„ฐ (์ถœ์ฒ˜ : https://jusungpark.tistory.com/22)

  1. ๊ฐ์ฒด ์–ด๋Œ‘ํ„ฐ
    • ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ๊ฐ์ฒด์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ณ€๊ฒฝ
    • ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์–ด๋Œ‘ํ„ฐ๋ฅผ ํ†ตํ•ด ์–ด๋Œ‘ํ‹ฐ์— ์š”์ฒญ์„ ์ „๋‹ฌํ•œ๋‹ค.
  2. ํด๋ž˜์Šค ์–ด๋Œ‘ํ„ฐ
    • ํด๋ž˜์Šค ์ž์ฒด์˜ ์ธํ„ฐํŽ˜์ด์Šค ๋ณ€๊ฒฝ
    • ์–ด๋Œ‘ํ„ฐ๋ฅผ ๋งŒ๋“ค ๋•Œ ํƒ€๊ฒŸ๊ณผ ์–ด๋Œ‘ํ‹ฐ ๋ชจ๋‘์˜ ์„œ๋ธŒ ํด๋ž˜์Šค๋กœ ๋งŒ๋“ ๋‹ค.
    • ํด๋ž˜์Šค ์–ด๋Œ‘ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์ค‘ ์ƒ์†์ด ํ•„์š”ํ•œ๋ฐ, ์ž๋ฐ”์—์„œ๋Š” ๋‹ค์ค‘ ์ƒ์†์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

(์ž์„ธํ•œ ์˜ˆ)

Target ์€ ์˜ค๋ฆฌ, Adaptee๋Š” ์น ๋ฉด์กฐ๋ผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

๋””์ž์ธํŒจํ„ด - ์–ด๋Œ‘ํ„ฐ ํŒจํ„ด (adapter pattern)

์–ด๋Œ‘ํ„ฐ ํŒจํ„ด (adapter pattern) ํ•œ ํด๋ž˜์Šค์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํด๋ผ์ด์–ธํŠธ์—์„œ ์‚ฌ์šฉํ•˜๊ณ ์žํ•˜๋Š” ๋‹ค๋ฅธ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. ์–ด๋Œ‘ํ„ฐ๋ฅผ ์ด์šฉํ•˜๋ฉด ์ธํ„ฐํŽ˜์ด์Šค ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ ๋•Œ๋ฌธ์— ๊ฐ™์ด ์“ธ ์ˆ˜ ์—†๋Š” ํด๋ž˜์Šค

jusungpark.tistory.com

 

38. ์–ด๋Œ‘ํ„ฐ ( Adapter )

๋””์ž์ธํŒจํ„ด ํฌ์ŠคํŒ…์€ ์‚ผ์„ฑ ์†Œํ”„ํŠธ์›จ์–ด ๋ฉค๋ฒ„์‹ญ ๊ต์œก ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. Adapter ํŒจํ„ด ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ถˆ์ผ์น˜๋ฅผ ํ•ด๊ฒฐํ•ด์„œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”๊ตฌํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ. ํ˜ธํ™˜์„ฑ์ด

supark7.tistory.com

 

์ฐธ๊ณ 

 

'๐Ÿ“ŒCS > Design Pattern' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Design Pattern] ํ”„๋ก์‹œ ํŒจํ„ด(Proxy Pattern)  (0) 2021.04.25

๋Œ“๊ธ€