πκ°μ²΄μ§ν₯ νλ‘κ·Έλλ°
μ€μΈκ³μ μ¬λ¬Όμ κ°μ²΄λ‘ λͺ¨λΈλ§νλ μννΈμ¨μ΄ κ°λ° λ°©λ²λ‘ μΌλ‘, μμ±κ³Ό λ©μλλ₯Ό νλμ κ°μ²΄λ‘ λ¬Άλλ€.
πκ°μ²΄μ§ν₯ νλ‘κ·Έλλ° μ₯μ
1. μ½λμ μ¬μ¬μ©μ± μ¦κ°
κ°μ²΄λ₯Ό μ¬μ¬μ©νμ¬ μ½λμ μ¬μ¬μ©μ±μ λμΌ μ μλ€. κΈ°μ‘΄μ ν΄λμ€λ₯Ό νμ₯νκ±°λ μμ νλλ° μ©μ΄νλ€.
2. μ μ§λ³΄μμ± ν₯μ
μΊ‘μνλ₯Ό ν΅ν΄ λ΄λΆ ꡬνμ κ°μΆκ³ , μΈν°νμ΄μ€λ§ 곡κ°νμ¬ μ½λ λ³κ²½ μ μν₯μ μ΅μνν μ μλ€.
3. κ°λ μ±κ³Ό μ΄ν΄λ μ¦κ°
νμ€ μΈκ³μ μ¬λ¬Όμ κ°μ²΄λ‘ λͺ¨λΈλ§νμ¬ μ§κ΄μ μΈ μ€κ³κ° κ°λ₯νλ€.
πκ°μ²΄μ§ν₯ νλ‘κ·Έλλ° νΉμ§: μΆμν, μΊ‘μν, μμ, λ€νμ±
1. μΆμν
볡μ‘ν κ°λ μ κ°μΆκ³ ν΅μ¬λ§ λλ¬λ΄λ κ²
2. μΊ‘μν
κ°μ²΄μ μμ±κ³Ό λ©μλλ₯Ό νλλ‘ λ¬Άκ³ μΌλΆλ₯Ό μΈλΆμ κ°μΆμ΄ μλνλ κ²
3. μμ
μμ ν΄λμ€μ νΉμ±μ νμ ν΄λμ€μμ λ¬Όλ €λ°μ μ¬μ©νλ κ²μΌλ‘ μ½λμ μ¬μ¬μ©μ±, κ³μΈ΅μ ꡬ쑰, μ μ§λ³΄μμ±μ μΈ‘λ©΄μμ μ€μνλ€.
4. λ€νμ±
νλμ λ©μλλ ν΄λμ€κ° λ€μν λ°©μμΌλ‘ λμνλ κ²(μ€λ²λ‘λ©, μ€λ²λΌμ΄λ©)
πκ°μ²΄μ§ν₯ νλ‘κ·Έλλ° μ€κ³ μμΉ: SOLID
1. Single-Responsibility μμΉ
νλμ ν΄λμ€λ κ°κ° νλμ μ± μλ§μ κ°μ ΈμΌ νλ€.
2. Open-Close μμΉ
νμ₯μλ μ΄λ €μκ³ , μμ μλ λ«ν μμ΄μΌ νλ€. κΈ°μ‘΄ μ½λλ μ λ³κ²½νμ§ μμΌλ©΄μ νμ₯μ μ½κ² ν μ μμ΄μΌ νλ€.
3. Liskov μΉν μμΉ
μμ ν΄λμ€λ νμ ν΄λμ€λ‘ μΉνν μ μμ΄μΌ νλ€.
4. Interface λΆλ¦¬ μμΉ
νλμ μΌλ°μ μΈ μΈν°νμ΄μ€λ³΄λ€ μκ³ κ΅¬μ²΄μ μΈ μ¬λ¬ κ°μ μΈν°νμ΄μ€κ° μ’λ€.
5. Dependency Inversion μμΉ
μμ λͺ¨λμ νμ λͺ¨λμ μμ‘΄νλ©΄ μλλ€.
'πCS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
JavaScriptμ λΉλκΈ°μ μ΄λ²€νΈ 루ν (0) | 2024.11.21 |
---|---|
κ°λ° μΈμ΄ (1) | 2024.11.20 |
μννΈμ¨μ΄ V&V(Verification & Validation) (2) | 2024.11.20 |
[OS]νλ‘μΈμ€μ μ€λ λ(2) (0) | 2024.11.19 |
[OS]νλ‘μΈμ€μ μ€λ λ(1) (0) | 2024.11.13 |