Skip to content

Latest commit

ย 

History

History
53 lines (32 loc) ยท 4.53 KB

README.md

File metadata and controls

53 lines (32 loc) ยท 4.53 KB

์ž๋ฐ”๋กœ ๊ตฌํ˜„๋œ ๋””์ž์ธ ํŒจํ„ด

Java CI License MIT Lines of Code Coverage Join the chat at https://gitter.im/iluwatar/java-design-patterns

All Contributors


๋‹ค๋ฅธ ์–ธ์–ด๋กœ ์ฝ๊ธฐ : zh, fr, tr, ar, es, pt, id, ru, de, ja, vi, bn, np, it, da


์†Œ๊ฐœ

๋””์ž์ธ ํŒจํ„ด์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ์‹œ์Šคํ…œ์„ ๋””์ž์ธํ•  ๋•Œ ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์ •์„์ ์ธ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

๋””์ž์ธ ํŒจํ„ด์€ ํ…Œ์ŠคํŠธ๋˜๊ณ  ์ž…์ฆ๋œ ๊ฐœ๋ฐœ ํŒจ๋Ÿฌ๋‹ค์ž„์„ ์ œ๊ณตํ•˜์—ฌ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค ์†๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋””์ž์ธ ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋ฉด ์ฃผ์š” ๋ฌธ์ œ๋ฅผ ์œ ๋ฐœํ•˜๋Š” ๋ฏธ๋ฌ˜ํ•œ ์ด์Šˆ๋“ค์„ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋ฉฐ ๋˜ํ•œ ํŒจํ„ด์— ์ต์ˆ™ํ•œ ๊ฐœ๋ฐœ์ž์™€ ์•„ํ‚คํ…ํŠธ์˜ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๊ธฐ

์ด ์‚ฌ์ดํŠธ๋Š” Java ๋””์ž์ธ ํŒจํ„ด์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ด ์†”๋ฃจ์…˜์€ ์˜คํ”ˆ ์†Œ์Šค ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ๊ฒฝํ—˜์ด ๋งŽ์€ ๊ฐœ๋ฐœ์ž์™€ ์„ค๊ณ„์ž๊ฐ€ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. ํŒจํ„ด์ด ๋†’์€ ์ˆ˜์ค€์˜ ์„ค๋ช…์ด๋‚˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œ์Šค ์ฝ”๋“œ ์˜ˆ์ œ๋Š” ์ž˜ ์„ค๋ช…๋˜์–ด ์žˆ์œผ๋ฉฐ ํŠน์ • ํŒจํ„ด์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ฃผ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŠœํ† ๋ฆฌ์–ผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ฐ€์žฅ ๋„๋ฆฌ ์•Œ๋ ค์ง€๊ณ  ์‹ค๋ฌด์—์„œ ์ž…์ฆ๋œ ์˜คํ”ˆ ์†Œ์Šค Java ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ž๋ฃŒ๋ฅผ ์‚ดํŽด๋ณด๊ธฐ ์ „์— ๋‹ค์–‘ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„ ์›์น™์„ ์ˆ™์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  ๋””์ž์ธ ํŒจํ„ด์€ ๊ฐ€๋Šฅํ•œ ํ•œ ์‹ฌํ”Œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ KISS, YAGNI ์›์น™์„ ์ง€์ผœ์•ผ ํ•˜๋ฉฐ, ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์‹ฌํ”Œํ•œ ์ผ์„ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ณต์žกํ•œ ๋””์ž์ธ ํŒจํ„ด์€ ์‹ค์šฉ์ ์ด๊ณ  ํ™•์žฅ์„ฑ์„ ์œ„ํ•ด ํ•„์š”ํ•  ๋•Œ๋งŒ ๋„์ž…๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ฐœ๋…์— ์ต์ˆ™ํ•ด์ง€๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋””์ž์ธ ํŒจํ„ด ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ด๋ฆ„์œผ๋กœ ํŠน์ • ํŒจํ„ด์„ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ์ฐพ๋Š” ํŒจํ„ด์ด ์—†๋‹ค๋ฉด ์—ฌ๊ธฐ์—์„œ ์ƒˆ ํŒจํ„ด์„ ์š”์ฒญํ•˜์„ธ์š”.
  • Performance, Gang of Four ๋˜๋Š” Data access ๋“ฑ์˜ ํƒœ๊ทธ๋กœ ๊ฒ€์ƒ‰ํ•˜์„ธ์š”.
  • Creational, Behavioral ๋“ฑ์˜ ํŒจํ„ด ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ๊ฒ€์ƒ‰ํ•˜์„ธ์š”.

์ด ์‚ฌ์ดํŠธ์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ ์†”๋ฃจ์…˜์ด ์—ฌ๋Ÿฌ๋ถ„์˜ ์•„ํ‚คํ…์ฒ˜์— ์œ ์šฉํ•˜๊ณ  ์‚ฌ์šฉ๋˜๊ณ  ์šฐ๋ฆฌ๊ฐ€ ๊ฐœ๋ฐœ ํ•œ ๊ฒƒ๋งŒํผ ์žฌ๋ฏธ์žˆ๊ฒŒ ๋ฐฐ์šฐ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๊ธฐ์—ฌํ•˜๋Š” ๋ฐฉ๋ฒ•

ํ”„๋กœ์ ํŠธ์— ๊ธฐ์—ฌํ•  ์˜ํ–ฅ์ด ์žˆ๋‹ค๋ฉด developer wiki์—์„œ ๊ด€๋ จ ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Gitter chatroom์—์„œ ๊ท€ํ•˜๋ฅผ ๋•๊ณ  ์งˆ๋ฌธ์— ๋‹ต๋ณ€ํ•ด ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

ํŠนํ—ˆ

์ด ํ”„๋กœ์ ํŠธ๋Š” MIT ๋ผ์ด์„ผ์Šค ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ผ์ด์„ผ์Šค๊ฐ€ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.