λ°μν
νμ₯
: κ΄μ¬μ¬λ₯Ό μ μ ν λΆλ¦¬ν΄ κ΄λ¦¬ νλ€λ©΄
μννΈμ¨μ΄ μν€ν μ²λ μ μ§μ μΌλ‘ λ°μ ν μ μλ€.
- μ²μλΆν° μμ€ν μ λ§λ κ·λͺ¨μ μ€κ³λ λΆκ°λ₯νλ€.
- μ€λ μ£Όμ΄μ§ μ¬μ©μμ μꡬμ¬νμ λ§μΆ° μμ€ν
μ ꡬνν΄μΌ νλ€.
→ μ΄κ²μ΄ λ°λ³΅/μ μ§μ μΈ μ μμΌ λ°©μμ ν΅μ¬μ΄λ€. - ν μ€νΈ μ£Όλ κ°λ° TDD, 리ν©ν°λ§μΌλ‘ λ§λ€μ΄μ§ κΉ¨λν μ½λμμ μμ€ν μ νμ₯νκΈ° μ½λ€.
μ± μμλ κ΄μ¬μ¬λ₯Ό μ λΆλ¦¬νμ§ λͺ»ν μ¬λ‘λ‘
EJB 1, 2 νλ μμν¬λ₯Ό μμλ₯Ό λ€κ³ μλ€.
ν‘λ¨cross-cutting κ΄μ¬μ¬
: ν΅μ¬ κΈ°λ₯μ κ°λ‘μ§λ₯΄λ κΈ°λ₯.
- κ΄μ μ§ν₯ νλ‘κ·Έλλ°(AOP, Aspect-Oriented Programing)λ ν‘λ¨ κ΄μ¬μ¬μ λμ²ν΄ λͺ¨λμ±μ ν보νλ μΌλ°μ μΈ λ°©λ²λ‘ μ΄λ€.
- AOPμ₯μ κ΄μ aspectμμ λͺ¨λ κ΅¬μ± κ°λ
→ "νΉμ κ΄μ¬μ¬λ₯Ό μ§μνλ €λ©΄ μμ€ν μμ νΉμ μ§μ λ€μ΄ λμνλ λ°©μμ μΌκ΄μ± μκ² λ°κΏμΌ νλ€." - λͺ μλ κ°κ²°ν μ μΈμ΄λ νλ‘κ·Έλλ° λ§€μ»€λμ¦μΌλ‘ μννλ€.
- μλ°μμ μ¬μ©νλ μ μ¬ν 맀컀λμ¦μΌλ‘ μλ° νλ‘μ, μμ μλ° AOP νλ μμν¬, AspectJ κ° μλ€.
μ΅μ μ μμ€ν ꡬ쑰λ
κ°κΈ° POJO Plain Old Java Object κ°μ²΄λ‘ ꡬνλλ λͺ¨λνλ κ΄μ¬μ¬ μμ(λλ©μΈ)μΌλ‘ ꡬμ±λλ€.
μλ‘ λ€λ₯Έ μμμμ ν΄λΉ μμ μ½λμ μ΅μνμ μν₯μ λ―ΈμΉλ κ΄μ μ΄λ λꡬλ₯Ό μ¬μ©ν΄ ν΅ν©νλ€.
DSLμ μ¬μ©νλΌ
2024.10.03 - [π κ°λ° μ¬μ /π μ©μ΄] - [ITμ©μ΄]DSL:Domain Specific Language
- DSLμ μ¬μ©νλ©΄ κ³ μ°¨μμμ μ μ°¨μ μΈλΆμ¬νμ μ΄λ₯΄λ λͺ¨λ μΆμν μμ€κ³Ό λͺ¨λ λλ©μΈμ POJOλ‘ ννν μ μλ€.
κ²°λ‘
λͺ¨λμ λ§λ€λ , μμ€ν μ λ§λ€λ μ€μ λ‘ λμκ°λ κ°μ₯ λ¨μν μλ¨μ μ¬μ©ν΄μΌ νλ€λ κ²μ΄λ€.
μλ°μμ Spring Frameworkμμ AspectJλ₯Ό μ§μνλ―λ‘ μ΄λ₯Ό ν¨κ» μ¬μ©νκ³ , DSLμ μ κ·Ήμ¬μ©νκΈΈ μΆμ²νλ€.
λ°μν
'π CleanCode' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[CleanCode]μμ€ν 1 (0) | 2024.10.10 |
---|---|
[CleanCode]ν΄λμ€ 2 (1) | 2024.10.08 |
[CleanCode]ν΄λμ€ 1 (0) | 2024.10.08 |
[CleanCode]λ¨μ ν μ€νΈ (2) | 2024.10.03 |
[CleanCode]κ²½κ³ 2 (1) | 2024.10.01 |