λμμΈ ν¨ν΄(Design Pattern)
- μννΈμ¨μ΄λ₯Ό μ€κ³ν λ νΉμ λ§₯λ½μμ μμ£Ό λ°μνλ κ³ μ§μ μΈ λ¬Έμ λ€μ΄ λ λ°μνμ λ μ¬μ¬μ©ν ν μ μλ νλ₯ν ν΄κ²°μ± μ΄λ€.
- κ°κΈ° λ€λ₯Έ μννΈμ¨μ΄ λͺ¨λμ΄λ κΈ°λ₯μ κ°μ§ λ€μν μμ© μννΈμ¨μ΄ μμ€ν λ€μ κ°λ°ν λλ μλ‘ κ°μ 곡ν΅λλ μ€κ³ λ¬Έμ κ° μ‘΄μ¬νλ©° μ΄λ₯Ό μ²λ¦¬νλ ν΄κ²°μ± μ¬μ΄μλ 곡ν΅μ μ΄ μλ€. μ΄λ¬ν μ μ¬μ μ ν¨ν΄μ΄λΌ νλ€.
- ν¨ν΄μ 곡ν΅μ μΈμ΄λ₯Ό λ§λ€μ΄μ£Όλ©° νμ μ¬μ΄μ μμ¬μν΅μ μννκ² ν΄μ£Όλ μμ£Ό μ€μν μν μ νλ€.
GoF λμμΈ ν¨ν΄
23κ°μ§μ λμμΈ ν¨ν΄μ μ 리νκ³ κ°κ°μ λμμΈ ν¨ν΄μ μμ±, ꡬ쑰, νμ 3κ°μ§λ‘ ꡬλΆνλ€.
- μμ± ν¨ν΄: κ°μ²΄ μμ±μ κ΄λ ¨λ ν¨ν΄μΌλ‘ κ°μ²΄μ μμ±κ³Ό μ‘°ν©μ μΊ‘μνν΄ νΉμ κ°μ²΄κ° μμ±λκ±°λ λ³κ²½λμ΄λ νλ‘κ·Έλ¨ κ΅¬μ‘°μ μν₯μ ν¬κ² λ°μ§ μλλ‘ μ μ°μ±μ μ 곡νλ€.
- ꡬ쑰 ν¨ν΄: ν΄λμ€λ κ°μ²΄λ₯Ό μ‘°ν©ν΄ λ ν° κ΅¬μ‘°λ₯Ό λ§λλ ν¨ν΄μΌλ‘ μλ‘ λ€λ₯Έ μΈν°νμ΄μ€λ₯Ό μ§λ 2κ°μ κ°μ²΄λ₯Ό λ¬Άμ΄ λ¨μΌ μΈν°νμ΄μ€λ₯Ό μ 곡νκ±°λ κ°μ²΄λ€μ μλ‘ λ¬Άμ΄ μλ‘μ΄ κΈ°λ₯μ μ 곡νλ ν¨ν΄μ΄λ€.
- νμ ν¨ν΄: κ°μ²΄λ ν΄λμ€ μ¬μ΄μ μκ³ λ¦¬μ¦μ΄λ μ± μ λΆλ°°μ κ΄λ ¨λ ν¨ν΄μΌλ‘ ν κ°μ²΄κ° νΌμ μνν μ μλ μμ μ μ¬λ¬ κ°μ κ°μ²΄λ‘ μ΄λ»κ² λΆλ°°νλμ§, λ κ·Έλ κ² νλ©΄μλ κ°μ²΄ μ¬μ΄μ κ²°ν©λλ₯Ό μ΅μννλ κ²μ μ€μ μ λλ€.