Deep Dive Into Design Patterns - λΈλ¦¬μ§ ν¨ν΄
π‘ λΈλ¦¬μ§ ν¨ν΄μ΄λ? ν° ν΄λμ€ λλ λ°μ νκ² κ΄λ ¨λ ν΄λμ€λ€μ μ§ν©μ λ κ°μ κ°λ³ κ³μΈ΅κ΅¬μ‘°(μΆμν λ° κ΅¬ν)λ‘ λλ ν κ°κ° λ 립μ μΌλ‘ κ°λ°ν μ μλλ‘ νλ ꡬ쑰 λμμΈ ν¨ν΄μ λλ€. π‘ λ¬Έμ ? Circle(μ) λ° Square(μ§μ¬κ°ν)λΌλ ν μμ μμ ν΄λμ€λ€μ΄ μλ κΈ°ννμ Shape(λͺ¨μ) ν΄λμ€κ° μλ€κ³ κ°μ ν΄ λ΄ μλ€. μ΄ ν΄λμ€ κ³μΈ΅ ꡬ쑰λ₯Ό νμ₯νμ¬ μμμ λμ νκΈ° μν΄ Red(λΉ¨κ°μ) λ° Blue(νλμ) λͺ¨μλ€μ μμ ν΄λμ€λ€μ λ§λ€ κ³νμ λλ€. κ·Έλ¬λ μ΄λ―Έ λ κ°μ μμ ν΄λμ€κ° μμΌλ―λ‘ BlueCircle(νλμ μ) λ° RedSquare(λΉ¨κ°μ μ§μ¬κ°ν)μ κ°μ λ€ κ°μ§μ ν΄λμ€ μ‘°ν©μ λ§λ€μ΄μΌ ν©λλ€. μλ‘μ΄ λͺ¨μ μ νλ€κ³Ό μμ μ νλ€μ μΆκ°ν λλ§λ€ κ³μΈ΅ ꡬ쑰λ κΈ°νκΈμμ ..
Deep Dive Into Design Patterns - μ»΄ν¬μ§νΈ ν¨ν΄
π‘ μ»΄ν¬μ§νΈ(볡ν©μ²΄) ν¨ν΄μ΄λ? κ°μ²΄λ€μ νΈλ¦¬ ꡬ쑰λ€λ‘ ꡬμ±ν ν, μ΄λ¬ν ꡬ쑰λ€μ κ°λ³ κ°μ²΄λ€μ²λΌ μμ ν μ μλλ‘ νλ ꡬ쑰 ν¨ν΄μ λλ€. μ¦, λ³΅ν© κ°μ²΄(Composite)μ λ¨μΌ κ°μ²΄(Leaf)λ₯Ό λμΌν μ»΄ν¬λνΈλ‘ μ·¨κΈνμ¬ ν΄λΌμ΄μΈνΈκ° 무μμ΄ λ³΅ν© κ°μ²΄μ΄κ³ 무μμ΄ λ¨μΌ κ°μ²΄μΈμ§ ꡬλΆνμ§ μκ³ λ μ¬μ©ν μ μκ²λ νλ ν¨ν΄μ λλ€. π‘ ν΄λμ€ λ€μ΄μ΄κ·Έλ¨μΌλ‘ λ³Έ μ»΄ν¬μ§νΈ ν¨ν΄ Component(μΈν°νμ΄μ€) : Leafμ Compsite λ₯Ό λ¬Άλ 곡ν΅μ μΈ μμ μΈν°νμ΄μ€ Composite : λ³΅ν© κ°μ²΄λ‘μ, Component ꡬν체λ€μ λ΄λΆ 리μ€νΈλ‘ κ΄λ¦¬ Leaf : λ¨μΌ κ°μ²΄λ‘μ, νμ μμκ° μλ€. Client : Component Interfaceλ₯Ό ν΅ν΄ λ¨μΌ/λ³΅ν© κ°μ²΄λ₯Ό νλμ κ°μ²΄λ‘ λ€λ£¬λ€. 볡ν©..
Deep Dive Into Design Patterns - νΌμ¬λ ν¨ν΄
π‘ νΌμ¬λ ν¨ν΄μ΄λ? λΌμ΄λΈλ¬λ¦¬μ λν, νλ μμν¬μ λν, λλ λ€λ₯Έ ν΄λμ€λ€μ 볡μ‘ν μ§ν©μ λν λ¨μνλ μΈν°νμ΄μ€λ₯Ό μ 곡νλ ꡬ쑰μ λμμΈ ν¨ν΄μ λλ€. λΌμ΄λΈλ¬λ¦¬μ κ° ν΄λμ€μ λ©μλλ€μ΄ μ΄λ€ λͺ©μ μ λμμΈμ§ μ΄ν΄νκΈ° μ΄λ €μ λ°λ‘ κ°μ Έλ€ μ°κΈ°μλ λμ΄λκ° λμ λ, μ΄μ λν μ μ ν λ€μ΄λ°κ³Ό μ 리λ₯Ό ν΅ν΄ μ¬μ©μλ‘ νμ¬κΈ μ½κ² λΌμ΄λΈλ¬λ¦¬λ₯Ό λ€λ£° μ μλλ‘ μΈν°νμ΄μ€λ₯Ό λ§λλ λ° μ¬μ©ν©λλ€. β νΌμ¬λλ μμ§μ΄λ λΆλΆμ΄ λ§μ΄ ν¬ν¨λ 볡μ‘ν νμ μμ€ν μ λν κ°λ¨ν μΈν°νμ΄μ€λ₯Ό μ 곡νλ ν΄λμ€μ λλ€. π‘ ν΄λμ€ λ€μ΄μ΄κ·Έλ¨μΌλ‘ λ³Έ νΌμ¬λ ν¨ν΄ νΌμ¬λ ν¨ν΄μ μ¬μ©νλ©΄ νμ μμ€ν κΈ°λ₯λ€μ νΉμ λΆλΆμ νΈλ¦¬νκ² μ κ·Όν μ μμ΅λλ€. λν, νΌμ¬λλ ν΄λΌμ΄μΈνΈμ μμ²μ μ΄λλ‘ λ³΄λ΄μΌ νλμ§μ μμ§μ΄λ λͺ¨λ ..
Deep Dive Into Design Patterns - μ΄λν° ν¨ν΄
π‘ μ΄λν° ν¨ν΄μ΄λ? νΈνλμ§ μλ μΈν°νμ΄μ€λ₯Ό κ°μ§ κ°μ²΄λ€μ΄ νμ ν μ μλλ‘ νλ ꡬ쑰μ λμμΈ ν¨ν΄μ λλ€. π λ¬Έμ μν© μ£Όμ μμ₯ λͺ¨λν°λ§ μ±μ λ§λ€κ³ μκ³ , μ΄ μ±μ μ¬λ¬ μμ€μμ μ£Όμ λ°μ΄ν°λ₯Ό XML νμμΌλ‘ λ€μ΄λ‘λν ν μ¬μ©μμκ² λ³΄κΈ° μ’μ μ°¨νΈλ€κ³Ό λ€μ΄μ΄κ·Έλ¨λ€μ νμνλ€κ³ μμν΄ λ΄ μλ€. μ΄λ μμ μ λΉμ μ νμ¬μ μ€λ§νΈ λΆμ λΌμ΄λΈλ¬λ¦¬λ₯Ό ν΅ν©νμ¬ λΉμ μ μ±μ κ°μ νκΈ°λ‘ κ²°μ νμ΅λλ€. κ·Έλ°λ° μ΄ λΆμ λΌμ΄λΈλ¬λ¦¬λ JSON νμμ λ°μ΄ν°λ‘λ§ μλν©λλ€. μ¦, μ±κ³Ό λΌμ΄λΈλ¬λ¦¬κ° νΈνλμ§ μλ μν©μ λλ€. μ΄ λΌμ΄λΈλ¬λ¦¬λ₯Ό XMLκ³Ό μλνλλ‘ λ³κ²½ν μ μμΌλ, κ·Έλ¬λ©΄ λΌμ΄λΈλ¬λ¦¬μ μμ‘΄νλ μΌλΆ κΈ°μ‘΄ μ½λκ° μμλ μ μμ΅λλ€. λ μ²μλΆν° νμ¬μ λΌμ΄λΈλ¬λ¦¬ μμ€ μ½λμ μ κ·Όνλ κ²μ΄ λΆκ°λ₯νμ¬..
Deep Dive Into Design Patterns - λμμΈ ν¨ν΄μ κ°μ
π‘ ν¨ν΄ μμΈν μμ보기π μμ± ν¨ν΄ Deep Dive Into Design Patterns - μ±κΈν€ ν¨ν΄π‘ μ±κΈν€(Singleton) ν¨ν΄μ΄λ? ν΄λμ€μ μΈμ€ν΄μ€κ° νλλ§ μλλ‘ νλ©΄μ μ΄ μΈμ€ν΄μ€μ λν μ μ μ κ·Ό(μ‘μΈμ€) μ§μ μ μ 곡νλ μμ± λμμΈ ν¨ν΄μ λλ€. μ½κ² λ§ν΄, λ¨ νλμ μ μΌν κ°μ²΄λ₯Όeasyhomputer.tistory.com π ꡬ쑰 ν¨ν΄ Deep Dive Into Design Patterns - μ΄λν° ν¨ν΄π‘ μ΄λν° ν¨ν΄μ΄λ? νΈνλμ§ μλ μΈν°νμ΄μ€λ₯Ό κ°μ§ κ°μ²΄λ€μ΄ νμ ν μ μλλ‘ νλ ꡬ쑰μ λμμΈ ν¨ν΄μ λλ€. π λ¬Έμ μν© μ£Όμ μμ₯ λͺ¨λν°λ§ μ±μ λ§λ€κ³ μκ³ , μ΄ μ±μ μ¬λ¬ μμ€μeasyhomputer.tistory.com Deep Dive Into Desig..