πΒ μ€λ μ½μ λ²μ : 6μ₯. κ°μ²΄μ μλ£κ΅¬μ‘°
<aside> π μ± μμ κΈ°μ΅νκ³ μΆμ λ΄μ©μ μ¨λ³΄μΈμ.
</aside>
μλ£ μΆμν
μΈν°νμ΄μ€λ μ‘°ν/μ€μ ν¨μλ§μΌλ‘λ μΆμνκ° μ΄λ€μ§μ§ μλλ€. κ°λ°μλ κ°μ²΄κ° ν¬ν¨νλ μλ£λ₯Ό ννν κ°μ₯ μ’μ λ°©λ²μ μ¬κ°νκ² κ³ λ―Όν΄μΌ νλ€.
μλ£/κ°μ²΄ λΉλμΉ
λ μ μλ λ³Έμ§μ μΌλ‘ μλ°λλ€.
μλ‘μ΄ μλ£ νμ μ΄ νμν κ²½μ°μλ ν΄λμ€μ κ°μ²΄ μ§ν₯ κΈ°λ²μ΄ μ ν©νκ³ , μλ‘μ΄ ν¨μκ° νμν κ²½μ°μλ μ μ°¨μ μΈ μ½λμ μλ£ κ΅¬μ‘°κ° μ’ λ μ ν©νλ€.
λλ―Έν° λ²μΉ
κ°μ²΄λ μλ£λ₯΄λ₯΄ μ¨κΈ°κ³ ν¨μλ₯Ό 곡κ°νλ€. μ¦, κ°μ²΄λ μ‘°ν ν¨μλ‘ λ΄λΆ ꡬ쑰λ₯Ό 곡κ°νλ©΄ μ λλ€λ μλ―Έλ€.
-κΈ°μ°¨ μΆ©λ
(λλ―Έν° λ²μΉμ μ΄κΈ°λ μ½λμ μμ )
final String outputDir = ctxt.getOptions().getScratchDir().getAbsolutePath();
-μ‘μ’ κ΅¬μ‘°
λλλ‘ μ λ°μ κ°μ²΄, μ λ°μ μλ£ κ΅¬μ‘°μΈ μ‘μ’ κ΅¬μ‘°κ° λμ¨λ€. μ΄λ° μ‘μ’ κ΅¬μ‘°λ μλ‘μ΄ ν¨μλ λ¬Όλ‘ μ΄κ³ μλ‘μ΄ μλ£ κ΅¬μ‘°λ μΆκ°νκΈ° μ΄λ ΅λ€. μ‘μ’ κ΅¬μ‘°λ νΌνλ νΈμ΄ μ’λ€.
-ꡬ쑰체 κ°μΆκΈ°
μλ£ μ λ¬ κ°μ²΄ Data Transfer Object, DTO
μΌλ°μ μΈ ννλ βbeanβꡬ쑰λ€. λΉμ λΉκ³΅κ° λ³μλ₯Ό μ‘°ν/μ€μ ν¨μλ‘ μ‘°μνλ€.
-νμ± λ μ½λ
νμ± λ μ½λλ λ°μ΄ν°λ² μ΄μ€ ν μ΄λΈμ΄λ λ€λ₯Έ μμ€μμ μλ£λ₯Ό μ§μ λ³νν κ²°κ³Όλ€.
νμ± λ μ½λλ μλ£ κ΅¬μ‘°λ‘ μ·¨κΈνλ€. λΉμ¦λμ€ κ·μΉμ λ΄μΌλ©΄μ λ΄λΆ μλ£λ₯Ό μ¨κΈ°λ κ°μ²΄λ λ°λ‘ μμ±νλ€.
<aside> π€ μ€λ μ½μ μκ°μ? λ μ€λ₯΄λ μκ°μ κ°λ³κ² μ μ΄λ³΄μΈμ
</aside>
κ²°λ‘ (p.127)
κ°μ²΄λ λμμ 곡κ°νκ³ μλ£λ₯Ό μ¨κΈ΄λ€.
μλ£ κ΅¬μ‘°λ λ³λ€λ₯Έ λμ μμ΄ μλ£λ₯΄λ₯΄ λ ΈμΆνλ€.
μ΄λ€ μμ€ν μ ꡬνν λ, μλ‘μ΄ μλ£ νμ μ μΆκ°νλ μ μ°μ±μ΄ νμνλ©΄ κ°μ²΄κ° λ μ ν©νλ€.
λ€λ₯Έ κ²½μ°λ‘ μλ‘μ΄ λμμ μΆκ°νλ μ μ°μ±μ΄ νμνλ©΄ μλ£κ΅¬μ‘°μ μ μ°¨μ μΈ μ½λκ° λ μ ν©νλ€.
<aside> π κΆκΈν λ΄μ©μ΄ μκ±°λ, μ μ΄ν΄λμ§ μλ λ΄μ©μ΄ μλ€λ©΄ μ μ΄λ³΄μΈμ.
</aside>
[λλ―Έν° λ²μΉ]
λλ―Έν°μΒ λ²μΉμ λ€λ₯Έ κ°μ²΄κ° μ΄λ ν μλ£λ₯Ό κ°κ³ μλμ§ μμ¬μ μ λͺ°λΌμΌ νλ€λ κ²μ μλ―Ένλ©°, μ΄λ¬ν μ΄μ λ‘ Don't Talk to Strangers(λ―μ μ΄μκ² λ§νμ§ λ§λΌ) λλ Principle of least knowledge(μ΅μ μ§μ μμΉ) μΌλ‘λ μλ €μ Έ μλ€.
βν΄λμ€ Cμ λ©μλ fλ λ€μκ³Ό κ°μ κ°μ²΄μ λ©μλλ§ νΈμΆν΄μΌ νλ€.β (p.123)