6. Polymorphism ¶
νμ
μ λ°λΌ λμμ΄λ νμκ° λ³ν λ, ν΄λΉ νμ
λ€μ νμμ μ±
μμ ν λΉνλΌ
Pluggable Software Component
μΌκ΄λ interfaceλ₯Ό μ¬μ©
8. Pure Fabrication ¶
λ¬Έμ λλ©μΈ κ°λ
μ νννμ§ μλ μΈμμ μΈ, νΈμμ λ§λ ν΄λμ€μ λ§€μ° μμ§λ μ±
μλ€μ ν λΉνλ€.
Pure Fabrication ν΄λμ€λ₯Ό μλ³νλ κ²μ μ€λν μΌμ΄ μλλ€. μ΄λ μ΄λ€ μννΈμ¨μ΄ ν΄λμ€λ λλ©μΈμ νννκΈ° μν κ²μ΄κ³ μ΄λ€ μννΈμ¨μ΄ ν΄λμ€λ λ¨μν κ°μ²΄ μ€κ³μκ° νΈμλ₯Ό μν΄ λ§λ κ²μ΄λΌλ μΌλ°μ μΈ μ μ μ리기 μν κ΅μ‘μ μΈ κ°λ μ΄λ€. νΈμλ₯Ό μν ν΄λμ€λ€μ λκ° μ΄λ€ 곡ν΅μ νμλ€μ ν¨κ» κ·Έλ£Ήμ§κΈ° μν΄ μ€κ³λλ©°, μ΄λ ννμ λΆν΄λ³΄λ€λ νμμ λΆν΄μ μν΄ μμ±λλ€.
Pure Fabrication ν΄λμ€λ₯Ό μλ³νλ κ²μ μ€λν μΌμ΄ μλλ€. μ΄λ μ΄λ€ μννΈμ¨μ΄ ν΄λμ€λ λλ©μΈμ νννκΈ° μν κ²μ΄κ³ μ΄λ€ μννΈμ¨μ΄ ν΄λμ€λ λ¨μν κ°μ²΄ μ€κ³μκ° νΈμλ₯Ό μν΄ λ§λ κ²μ΄λΌλ μΌλ°μ μΈ μ μ μ리기 μν κ΅μ‘μ μΈ κ°λ μ΄λ€. νΈμλ₯Ό μν ν΄λμ€λ€μ λκ° μ΄λ€ 곡ν΅μ νμλ€μ ν¨κ» κ·Έλ£Ήμ§κΈ° μν΄ μ€κ³λλ©°, μ΄λ ννμ λΆν΄λ³΄λ€λ νμμ λΆν΄μ μν΄ μμ±λλ€.
- ννμ λΆν΄(Representational Decomposition) : λλ©μΈ μμ μ΄λ€ κ²μ μ°κ΄λμ΄ μκ±°λ κ·Έκ²μ νν
- νμμ λΆν΄(Behavioral Decomposition) : νμλ₯Ό κ·Έλ£Ήννκ±°λ μκ³ λ¦¬μ¦μ λ°λΌ μ±
μμ ν λΉ, λͺλͺ κ΄λ ¨λ νμλ λ°©λ²λ€μ κ·Έλ£Ήννλλ‘ κ°λ°μκ° νΈμμ λ§λ€μ΄ λΈ ν΄λμ€, νμμ λΆν΄μ μν κ²
9. Protected Variations ¶
λ³ν κ°λ₯μ±μ΄ μλ λΆλΆμ μΈν°νμ΄μ€λ₯Ό νμ±νλλ‘ μ±
μμ ν λΉνλΌ.
μ΄ ν¨ν΄μ λ§€μ° κΈ°μ΄μ μΈ μ€κ³ μ리μ΄μ§λ§ Cockburnμ μν΄ μ²μ λ°νλμλ€.
PVμ κ΄λ ¨λ λ€μν κΈ°λ²λ€μ΄ μλλ° κ·Έμ€ νλκ° LawOfDemeterλΌλκ΅°μ. μ΄ ν¨ν΄μ λ§€μ° κΈ°μ΄μ μΈ μ€κ³ μ리μ΄μ§λ§ Cockburnμ μν΄ μ²μ λ°νλμλ€.
.png)
κ·Έ μΈμ DavidParnasμ On the Criteria To Be Used in Decomposing Systems Into Modulesμμ InformationHiding κ°λ μ μκ°νκ³ DataEncapsulationκ³Ό νΌλνλ κ²½μ°κ° λ§μλ€κ³ λ§ν΄μ£Όλ€μ. OCPμ λν΄μλ μ΄μΌκΈ°ν΄ μ£Όκ³ ...