โข
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)