1μ₯ _ μ€κ³μ μν€ν μ²λ?
μ€κ³(design) μ μν€ν μ²(architecture) μ¬μ΄μ μ°¨μ΄κ° μμκΉ?
κ²°λ‘ λΆν°, μ 체 μ€κ³μ ꡬμ±μμλ‘ λ³΄λ©΄ μ€κ³μ μν€ν μ² λͺ¨λ νμνκΈ°λλ¬Έμ ꡬλΆμ§μ νμκ° μλ€.
μν€ν μ²λ κ³ μμ€μ ꡬ쑰, μ€κ³λ μ μμ€μ μΈλΆμ¬νμ΄λΌκ³ μ μλμ΄ μμ§λ§..
μ€μ λ‘ μ§μ μ§μλλ μννΈμ¨μ΄λ₯Ό μ€κ³ν λ μν€ν μ²μ μ€κ³λ κ°λ³μ μΌλ‘ μ‘΄μ¬ν μ μκΈ° λλ¬Έμ΄λ€.
μ’μ μννΈμ¨μ΄ μ€κ³μ λͺ©νλ?
νμν μμ€ν μ λ§λ€κ³ μ μ§λ³΄μνλ λ° ν¬μ λλ μΈλ ₯μ μ΅μν νλ κ²μ΄ λͺ©νμ΄λ€.
μλ‘μ΄ κΈ°λ₯μ μΆμν λλ§λ€ λΉμ©μ΄ μ¦κ°νλ€λ©΄ λμ μ€κ³μ΄λ€.
μλ§μ§μ°½μ΄ λμ΄ κ°λ μ νΈ
νΉμ μ¬λ‘λ₯Ό ν΅ν΄ μ§μμ΄ λ§μμ§μ§λ§, μ½λ μμ°μ±μ κ·Έλλ‘λΌλ©΄ κ°μμ μμ°μ±μ λ¨μ΄μ§λ κ²μ 보μ¬μ€λ€.
μμ€ν μ κΈνκ² λ§λ€κ±°λ, μ½λμ μ€κ³μ ꡬ쑰λ₯Ό κΉλνκ² λ§λ€λ €λ μκ°μ μ ν νμ§ μμΌλ©΄ μμ°μ±μ΄ λ¨μ΄μ§κ² λλ€.
κ°μλ μ΄μ¬ν μκ°μ ν¬μν΄μ μΌνμ§λ§.. μλ§μ΄ λ μ½λλ₯Ό λμ²νλλ° μλͺ¨λ λΏμ΄λ€.
무μμ΄ μλͺ»λμλ?
ν λΌμ κ±°λΆμ΄ μ°νμ κ°λ°μμ λͺ¨μ΅μ λΉμ π
ν λΌ κ°λ°μ = λΌ λΉ μ§κ² μΌνμ§λ§, μ€κ³μ μ€μμ±μ μκ³ μλ λλ μ λ€μ΄ μλ κ°λ°μ. μμ°μ±μ μ μ§ν μ μλ€κ³ κ³Όμ νλ€.
κ±°λΆμ΄ κ°λ°μ = μ’μ μννΈμ¨μ΄ μν€ν μ²κ° 무μμΈμ§ μ΄ν΄νκ³ , μ’μ μ€κ³μ μν€ν μ²λ₯Ό κ°μ§ μμ€ν μ λ§λλ κ°λ°μ
λΉμ₯ μμ₯μ μΆμνλλ° λ°λΉ ν λΌ κ°λ°μλ "μ½λλ λμ€μ μ 리νλ©΄ λΌ!" λΌκ³ λ§νμ§λ§, κ·Έλ κ² λ§νλ κ°λ°μλ μ½λλ₯Ό μ 리νμ§ μλλ€. .. "μλ§μΌλ‘ λ§λ€λ©΄ κΉλνκ² μ μ§ν λλ³΄λ€ νμ λ λ리λ€" λ₯Ό κΈ°μ΅νμ.
μ²μλΆν° μ 체 μμ€ν μ μ¬μ€κ³νλ κ²μ ν΄κ²°μ± μ΄ μλλ€. μμ μ κ³Όμ νλ€λ©΄ λκ°μ΄ μ μ§λ³΄μμ μλ§μΈ μ½λλ₯Ό μμ±νκ² λλ€.
κ²°λ‘
κ°λ° μ‘°μ§μ μ€λ©°λ κ³Όμ μ μΈμ§νμ¬ λ°©μ§νκ³ , μννΈμ¨μ΄ μν€ν μ²μ νμ§μ μ¬κ°νκ² κ³ λ―ΌνκΈ° μμνλ κ²μ΄ μ€μνλ€.
μννΈμ¨μ΄ μν€ν μ²μ νμ§μ κ³ λ―ΌνκΈ° μν΄μλ μ’μ μννΈμ¨μ΄ μν€ν μ²κ° 무μμΈμ§ μ΄ν΄ν΄μΌ νλ€.
λΉμ©μ μ΅μννκ³ μμ°μ±μ μ΅λνν μ μλ μ€κ³μ μν€ν μ²λ₯Ό κ°μ§ μμ€ν μ λ§λ€λ €λ©΄, κ·Έλ¬ν μμ€ν μν€ν μ²μ μμ±μ μμμΌ νλ€.
=> μ΄ μ± μμλ νλ₯νκ³ κΉλν μν€ν μ²μ μ€κ³κ° 무μμΈμ§ μ€λͺ νκ³ , κ°λ°μκ° μ₯κΈ°κ°μ κ±Έμ³ μμ΅μ μ°½μΆνλ μμ€ν μ λ§λ€ μ μκ² νλ€.
2μ₯ _ λ κ°μ§ κ°μΉμ λν μ΄μΌκΈ°
μννΈμ¨μ΄ μμ€ν μ μλ‘ λ€λ₯Έ λ κ°μ§ κ°μΉ "νμ(behavior)μ ꡬ쑰(structure)"λ₯Ό μ 곡νλ€.
νμ (κΈ°λ₯)
μννΈμ¨μ΄μ 첫 λ²μ§Έ κ°μΉ, νμλ κΈ°λ₯ λͺ μΈμλ μꡬμ¬ν λ¬Έμ ꡬ체νλ₯Ό λκ³ , μꡬμ¬νμ λ§μ‘±νλλ‘ μ½λλ₯Ό μμ±νλ κ²μ΄λ€.
λλΆλΆ κΈ°λ₯μ ꡬννκ³ λ²κ·Έλ₯Ό μμ νλ μΌμ΄ μμ μ΄ ν΄μΌν μΌμ μ λΆλΌκ³ μκ°νλ€.
μν€ν μ² (ꡬ쑰)
μννΈμ¨μ΄λ soft + ware μ ν©μ±μ΄λ‘, κΈ°κ³μ νμλ₯Ό μ½κ² λ³κ²½ν μ μλλ‘ νκΈ° μν΄ λ§λ€μ΄μ§ κ²μ΄λ€.
μννΈμ¨μ΄κ° κ°μ§ λ³Έμ°μ λͺ©μ μ μΆκ΅¬νλ €λ©΄ λΆλλ¬μμΌνλ€. μ¦ μννΈμ¨μ΄λ λ³κ²½νκΈ° μ¬μμΌ νλ€.
λ³κ²½μ¬νμ μ μ©νλλ° λλ μ΄λ €μμ λ³κ²½λλ λ²μμ λΉλ‘ν΄μΌνλ©°, λ³κ²½μ¬νμ νν(shape)μλ κ΄λ ¨μ΄ μμ΄μΌ νλ€.
μμ€ν μ ννμ μꡬμ¬νμ ννκ° μλ‘ λ§μ§ μλ κ²½μ°μ κ°λ°μλ λ³κ²½μ¬νμ μ μ©νκΈ° μ΄λ ΅λ€κ³ μκ°νλ€.
μννΈμ¨μ΄ μν€ν μ²λ νΉμ μμ€ν μ λ§μΆ°μ Έ νΉμ ννλ₯Ό κ°μ§λ€λ©΄ λ³κ²½νκΈ° μ΄λ €μμ§λ€.
μννΈμ¨μ΄ λ³κ²½μ μ½κ³ μ€μ©μ μΌλ‘ νκΈ°μν΄μ, μν€ν μ²λ ννμ λ 립μ μ΄μ΄μΌνλ€.
νμμ μν€ν μ², λ λμ κ°μΉλ 무μμΌκΉ?
1 μλ²½νκ² λμνμ§λ§ μμ μ΄ λΆκ°λ₯ν νλ‘κ·Έλ¨
-> μꡬμ¬νμ΄ λ³κ²½λ λ λμνμ§ μκ² λκ³ , κ²°κ΅ λμκ°λλ‘ λ§λ€ μ μκ² λλ€. μ¬μ€μ λΆκ°λ₯μ μκ² μ§λ§ λ³κ²½μ λλ λΉμ©μ΄ μ°½μΆλλ μμ΅μ μ΄κ³Όνλ κ²½μ°κ° λ κ²μ΄λ€.
2 λμμ νμ§ μμ§λ§ λ³κ²½μ΄ μ¬μ΄ νλ‘κ·Έλ¨
=> κ°λ°μλ νλ‘κ·Έλ¨μ λμνκ² λ§λ€ μ μκ³ , λ³κ²½μ¬νμ΄ λ°μνλλΌλ κ³μν΄μ μ μ§λ³΄μν μ μλ€. μμΌλ‘λ μ μ©νκ² μ΄μ©ν μ μλ€.
νμ€μ μΌλ‘λ.. λμνμ§ μλλ€λ©΄ μλκ² μ§λ§ π μ μλ νμ¬ λμμ¬λΆλ³΄λ€ μμΌλ‘μ λ³κ²½ κ°λ₯ν μμ€ν μ΄ λ μ’μ μμ€ν μ΄λΌκ³ λ§νκ³ μλ€.
μμ΄μ νμ 맀νΈλ¦μ€
μ€μμ±κ³Ό κΈ΄κΈμ±μ κ΄ν μμ΄μ νμ 맀νΈλ¦μ€μ νμμ μν€ν μ²λ₯Ό μ μ©ν΄μ νλ² λ μν€ν μ²μ μ€μμ±μ μΈκΈνλ€. (μλ μ μΈν΄μ ν λ μ 무 μ°μ μμ μ νλ κ³Όμ μμ λ΄€λ 맀νΈλ¦μ€!!)
νμ = κΈ΄κΈνμ§λ§, λ§€λ² λμ μ€μλλ₯Ό κ°μ§λ κ²μ μλλ€. μ§κΈ λΉμ₯ κ°λ°ν΄μΌνλ κΈ°λ₯.. μ€μλλ λ§€λ² λ€λ₯΄λ€.
μν€ν μ² = μ€μνμ§λ§ μ¦κ°μ μΈ κΈ΄κΈμ±μ νμλ‘ νλ κ²½μ°λ μ λ μλ€. μ μ§λ³΄μ μΈ‘λ©΄μμ νμν 리ν©ν λ§μ λΉμ₯ μμ νμ§ μμλ νλ‘κ·Έλ¨μ΄ μ μ λμνλ―λ‘.. κΈ΄κΈνμ§ μλ€ π₯²
μ°μ μμλ λ€μκ³Ό κ°λ€. "μ€μ & κΈ΄κΈ > μ€μ & κΈ΄κΈX > μ€μX & κΈ΄κΈ > μ€μX & κΈ΄κΈX"
μ 무 κ΄λ¦¬μμ κ°λ°μλ μΈλ²μ§Έμ μμΉν "μ€μνμ§ μμ§λ§ κΈ΄κΈν" νλͺ©μ 첫λ²μ§Έ μ°μ μμλ‘ μκ°νλ μ€μλ₯Ό λ§μ΄ μ μ§λ₯Έλ€.
"κΈ΄κΈνμ§λ§ μ€μνμ§ μμ" κΈ°λ₯κ³Ό "κΈ΄κΈνλ©΄μ μ€μν" κΈ°λ₯μ ꡬλΆνμ§ λͺ»νλ€.
=> κ·Έλ κΈ°μ μ€μλκ° λμ μν€ν μ²λ₯Ό 무μν μ± μ€μλκ° λ¨μ΄μ§λ κΈ°λ₯μ μ ννκ² λλ€.
μν€ν μ²λ₯Ό μν΄ ν¬μνλΌ
μννΈμ¨μ΄ κ°λ°μλ μννΈμ¨μ΄λ₯Ό μμ νκ² λ³΄νΈν΄μΌ ν μ± μμ΄ μλ€. ν¨μ¨μ μΈ μννΈμ¨μ΄ κ°λ°νμ μν€ν μ²λ₯Ό κ°μ νκΈ° μν΄ λ€λ₯Έ νκ³Ό ν¬μν΄μΌνλ€.
μν€ν μ²κ° νμμκ° λλ©΄ μμ€ν μ κ°λ°νλ λΉμ©μ΄ λ λ§μ΄ λ€κ³ , λ³κ²½μ κ°νλ μΌμ΄ νμ€μ μΌλ‘ λΆκ°λ₯ν΄μ§λ€. μ΄λ¬ν μν©μ΄ μ©λ©λλ©΄, μννΈμ¨μ΄ κ°λ°νμ΄ μ€μ€λ‘ μ³λ€κ³ λ―Ώλ κ°μΉλ₯Ό μν΄ μΆ©λΆν ν¬μνμ§ μμλ€λ λ»μ΄λ€. π₯²
κ°μΈμ μΈ μκ°
ν΄λ¦° μν€ν μ²λ₯Ό μ½μ΄λ³΄κ³ μΆλ€λ μκ°μ νμ§λ§, μ ν΄λ¦° μν€ν μ²λ₯Ό μ½μ΄μΌ ν κΉ? μ μ€κ³λ₯Ό μ ν΄μΌ ν κΉ? λ₯Ό μκ°ν μ μμλ μ±ν°μλ€. ν λ² μ°κ³ λ²λ €μ§λ μ½λκ° μλ, κ³μν΄μ μμ κ°λ₯ν μννΈμ¨μ΄λ₯Ό κ°λ°νκΈ° μν΄ μ€κ³λΆν° κ³ λ―Όν΄μΌκ² λ€.
κ·Έλ¦¬κ³ μ΄μ μ μμ±λ μ½λλ₯Ό μ΄λ»κ²νλ©΄ λ μννΈνκ² λ³κ²½ν μ μμμ§λ κ³ λ―Όν΄μΌκ² λ€.
"μννΈμ¨μ΄λ λ³κ²½νκΈ° μ¬μμΌ νλ€."
'π Client' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[ν΄λ¦° μν€ν μ²] 3μ₯ ν¨λ¬λ€μ κ°μ & 4μ₯ ꡬ쑰μ νλ‘κ·Έλλ° (0) | 2022.01.18 |
---|