Search

GOF ๋””์ž์ธ ํŒจํ„ด 23๊ฐ€์ง€ ๋ถ„๋ฅ˜

โ€ข
1994๋…„, ์—๋ฆฌํžˆ ๊ฐ๋งˆ(Erich Gamma), ๋ฆฌ์ฒ˜๋“œ ํ—ฌ๋ฆ„(Richard Helm), ๋ž„ํ”„ ์กด์Šจ(Ralph Johnson), ์กด ๋ธ”๋ฆฌ์‹œ๋””์Šค(John Vlissides) ๋“ฑ 4๋ช…์˜ ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์ž๊ฐ€ ๊ณต๋™ ์ €์ˆ ํ•œ **ใ€ŽDesign Patterns: Elements of Reusable Object-Oriented Softwareใ€**์—์„œ ์ฒ˜์Œ ์ •๋ฆฌ๋จ.
โ€ข
๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„ ์›์น™์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ, ์œ ์ง€๋ณด์ˆ˜์„ฑ, ํ™•์žฅ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด 23๊ฐ€์ง€ ๋””์ž์ธ ํŒจํ„ด์„ ๋ถ„๋ฅ˜ํ•จ.
โ€ข
์ด ๋„ค ๋ช…์˜ ์ €์ž๋ฅผ **"Gang of Four(GOF)"**๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ, ์ด๋“ค์ด ์ •๋ฆฌํ•œ ํŒจํ„ด์„ GOF ๋””์ž์ธ ํŒจํ„ด์ด๋ผ๊ณ  ํ•จ.

GOF ๋””์ž์ธ ํŒจํ„ด 23๊ฐ€์ง€ ๋ถ„๋ฅ˜

1. ์ƒ์„ฑ ํŒจํ„ด (Creational Patterns)

โ€ข
์‹ฑ๊ธ€ํ†ค (Singleton Pattern)
โ€ข
ํŒฉํ† ๋ฆฌ ๋ฉ”์„œ๋“œ (Factory Method Pattern)
โ€ข
์ถ”์ƒ ํŒฉํ† ๋ฆฌ (Abstract Factory Pattern)
โ€ข
๋นŒ๋” (Builder Pattern)
โ€ข
ํ”„๋กœํ† ํƒ€์ž… (Prototype Pattern)

2. ๊ตฌ์กฐ ํŒจํ„ด (Structural Patterns)

โ€ข
์–ด๋Œ‘ํ„ฐ (Adapter Pattern)
โ€ข
๋ธŒ๋ฆฌ์ง€ (Bridge Pattern)
โ€ข
์ปดํฌ์ง€ํŠธ (Composite Pattern)
โ€ข
๋ฐ์ฝ”๋ ˆ์ดํ„ฐ (Decorator Pattern)
โ€ข
ํผ์‚ฌ๋“œ (Facade Pattern)
โ€ข
ํ”Œ๋ผ์ด์›จ์ดํŠธ (Flyweight Pattern)
โ€ข
ํ”„๋ก์‹œ (Proxy Pattern)

3. ํ–‰์œ„ ํŒจํ„ด (Behavioral Patterns)

โ€ข
์˜ต์ €๋ฒ„ (Observer Pattern)
โ€ข
์ „๋žต (Strategy Pattern)
โ€ข
์ƒํƒœ (State Pattern)
โ€ข
ํ…œํ”Œ๋ฆฟ ๋ฉ”์„œ๋“œ (Template Method Pattern)
โ€ข
์ฑ…์ž„ ์—ฐ์‡„ (Chain of Responsibility Pattern)
โ€ข
์ปค๋งจ๋“œ (Command Pattern)
โ€ข
์ธํ„ฐํ”„๋ฆฌํ„ฐ (Interpreter Pattern)
โ€ข
๋ฐ˜๋ณต์ž (Iterator Pattern)
โ€ข
์ค‘์žฌ์ž (Mediator Pattern)
โ€ข
๋ฉ”๋ฉ˜ํ†  (Memento Pattern)
โ€ข
๋ฐฉ๋ฌธ์ž (Visitor Pattern)