Refactoring
Compose Method Pattern
ν¨μμ μλκ° μ λλ¬λλλ‘ λλ±ν μμ€μ μμ μ νλ μ¬λ¬ λ¨κ³λ‘ λλλ€.
μ΄λ ν¨μκ° νλμ λμλ§ ν μ μκ² μ¬κ΅¬μ± νλκ²μ΄λ€.
- κΈ°λ₯μ μκ² λλλ€.
- λ―Έμ¬μ© μ½λ νΉμ μ€λ³΅ μ½λλ₯Ό μ κ±°νλ€.
- μ½λμ μλκ° μ λλ¬λλλ‘ μ€κ³νλ€.
- κΈ°λ₯μ λ¨μν νλ€.
- λ©μλλ₯Ό λλ±ν μμ€μΌλ‘ λ¨κ³λ₯Ό λλλ€.
μΌκΈ 컬λ μ (First Class Collection)
- μ½λ μ μ ν¬ν¨ν ν΄λμ€λ λ°λμ λ€λ₯Έ λ©€λ²λ³μκ° μμ΄μΌ νλ€.
Map<String, String> map = new HashMap<>();
map.put("1", "A");
map.put("2", "B");
map.put("3", "C");
μ μ½λλ₯Ό μλμ κ°μ΄ Wrapping
νλκ²μ΄λ€.
public class GameRanking {
private Map<String, String> ranks;
public GameRanking(Map<String, String> ranks) {
this.ranks = ranks;
}
}
Collection
μ Wrapping νλ©΄μ κ·Έ μΈ λ€λ₯Έ λ©€λ² λ³μκ° μλ μνλ₯Ό μΌκΈ 컬λ μ
μ΄λΌ νλ€.
μλ μ½λμ κ°μ΄ λ°κΎΈλ©΄ λ€μκ³Ό κ°μ μ΄μ μ΄ μκΈ΄λ€
- λΉμ§λμ€μ μ’ μμ μΈ μλ£κ΅¬μ‘°
Collection
μ λΆλ³μ±μ 보μ₯- μνμ νμλ₯Ό ν κ³³μμ κ΄λ¦¬
- μ΄λ¦μ΄ μλ 컬λ μ
μ°Έκ³ μλ£
κ°μ²΄μ§ν₯μν체쑰
- νλμ λ©μλμ νλ¨κ³μ λ€μ¬μ°κΈ°λ§ νμ©νλ€.
else
μμ½μ΄λ₯Ό μ¬μ©νμ§ μλλ€.- λͺ¨λ μμκ°κ³Ό λ¬Έμμ΄μ ν¬μ₯νλ€.
- νμ€μ μ νλλ§ μ°λλ€.
- μ€μ¬μ°μ§ μλλ€.
- λͺ¨λ μν°ν°λ₯Ό μκ² μ μ§νλ€.
- 2κ° μ΄μμ μΈμ€ν΄μ€ λ³μλ₯Ό κ°μ§ ν΄λμ€λ₯Ό μ¬μ©νμ§ μλλ€.
- μΌκΈ 컬λ μ μ μ¬μ©νλ€.
getter
/setter
/property
μ μ¬μ©νμ§ μλλ€.
μ°Έκ³ μλ£