Design Patterns

์›๋ฆฌ๋ฅผ ์•Œ๋ฉด ๋น„์Šทํ•œ ๋„๊ตฌ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ์ด ๋ ๊ฒƒ์ธ๊ฐ€ ๋„๊ตฌ๋ฅผ ์ดํ•ดํ•˜๋Š” ์‚ฌ๋žŒ์ด ๋ ๊ฒƒ์ธ๊ฐ€.

What is a Pattern?

  1. Proven - ํŒจํ„ด์ด๋ผ๋Š” ๊ฒƒ์€ ๊ฒ€์ฆ์ด ๋๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

  2. Reusable - ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

  3. Expressive - ํ‘œํ˜„์ ์ด๋‹ค. ๋ช…์นญ์ด๋‚˜ ์ด๋ฆ„์„ ๋ณด๊ณ  ์œ ์ถ”๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ณ„ํš(๋ฐฉํ–ฅ์„ฑ)์ด์ง€ ์†”๋ฃจ์…˜์„ ์ฃผ๋Š”๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.

Object Creation Pattern

  1. Modules - ๊ฐ์ฒด, ํ•ฉ์ณ์ ธ์„œ ๋ญ”๊ฐ€๋ฅผ ์ด๋ฃจ๋Š”๊ฑธ ๋งํ•œ๋‹ค. ์ž‘์€๊ฑฐ๋ƒ ํฐ๊ฑฐ๋Š” ์ƒํ™ฉ์— ๋”ฐ๋ผ์„œ ๋‹ค๋ฅด๋‹ค.

    • ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด

    • Privacy Concerns - ์ฝ”๋“œ๋ฅผ ์ˆจ๊ธฐ๋Š”๊ฑด ์–ด๋ ต๋‹ค. ๊ทธ๋ž˜์„œ ์ ‘๊ทผํ•˜๊ธฐ ์–ด๋ ต๊ฒŒ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค.

      • ๊ผญ ์จ์•ผํ•œ๋‹ค๋ฉด ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๋‚˜๋งŒ์˜ ๊ณต๊ฐ„์„ ๋šซ์–ด๋†“๋Š”๋‹ค. window.VANILLA_CODING = {} ํ•ด์„œ ๊ณต๊ฐ„์„ ๋งŒ๋“ ๋‹ค.

      • ํŒฉํ† ๋ฆฌ ํ•จ์ˆ˜

  2. SingleTons

    • ๊ฐ์ฒด๊ฐ€ ํ•˜๋‚˜๋งŒ ๋งŒ๋“ค์–ด ์ง€๋„๋ก ํ•œ๋‹ค. ์ œํ•œ์„ ๊ฑธ์–ด์ค€๋‹ค.

  3. Factory Pattern

    • Mixin - ๊ณต์œ ํ•œ๋‹ค. ์ฝ”๋“œ๋ฅผ ์žฌํ™œ์šฉํ•˜๋Š” ํŒจํ„ด์ด๋‹ค.

  4. Chaining

  5. publish - subscribe (๊ณ ๋ฆด๋ผ ์—…๋ฌด์— ๋“ค์–ด ์žˆ๋‹ค.)

Last updated

Was this helpful?