- μμ²μ κ°μ²΄μ ννλ‘ μΊ‘μννμ¬ μ¬μ©μκ° λ³΄λΈ μμ²μ λμ€μ μ΄μ©ν μ μλλ‘ μμ²μ νμν μ 보(ν¨μλͺ , λ§€κ°λ³μ λ±)λ₯Ό μ μ₯, λ‘κΉ , μ·¨μν μ μκ² νλ ν¨ν΄μ΄λ€.
- μ€νλ κΈ°λ₯μ λν μΈν°νμ΄μ€
- μ€νλ κΈ°λ₯μ
Executeν¨μλ‘ μ μΈνλ€. Receiverκ°μ²΄λ₯Ό κ°μ§κ³ μμΌλ©°Receiverκ°μ²΄μ ν¨μλ₯Ό νΈμΆνλ€.- 컀맨λ κ°μ²΄λ λ³λλ‘
Invokerκ°μ²΄μ μ λ¬λμ΄ λͺ λ Ήμ λ°λνκ² νλ€.
- μ€μ λ‘ μ€νλλ κΈ°λ₯μ ꡬννλ ν΄λμ€
Commandλ₯Ό μμλ°μ ꡬννλ€.
- κΈ°λ₯μ μ€νμ μμ²νλ νΈμΆμ ν΄λμ€
- νμμ λ°λΌ λͺ λ Ή λ°λμ λν κΈ°λ‘μ λ¨κΈΈ μ μλ€.
- νλμ
Invokerκ°μ²΄μ λ€μμCommandκ°μ²΄κ° μ λ¬λ μ μλ€.
ConcreteCommandμ κΈ°λ₯μ μ€ννκΈ° μν΄ μ¬μ©νλ μμ μ ν΄λμ€μ΄λ€.Commandλ‘λΆν° νΈμΆμ λ°μ μμ μκ² μ μλ ν¨μλ₯Ό μννλ€.
Clientκ°μ²΄λInvokerκ°μ²΄μ νλ μ΄μμCommandκ°μ²΄λ₯Ό 보μ νλ€.- μ΄λ μμ μμ μ΄λ€ λͺ λ Ήμ μνν μ§λ₯Ό κ²°μ νλ€.
- λͺ
λ Ήμ μννλ €λ©΄
Clientκ°μ²΄λInvokerκ°μ²΄λ‘Commandκ°μ²΄λ₯Ό μ λ¬νλ€.
- μ€νλ κΈ°λ₯μ μΊ‘μνν¨μΌλ‘μ¨ μ£Όμ΄μ§ μ¬λ¬ κΈ°λ₯μ μ€νν μ μλ μ¬μ¬μ©μ±μ΄ λμ ν΄λμ€λ₯Ό μ€κ³νλ€.
- μ΄λ²€νΈκ° λ°μνμ λ μ€νλ κΈ°λ₯μ΄ λ€μνλ©΄μλ λ³κ²½μ΄ νμν κ²½μ° μ΄λ²€νΈλ₯Ό λ°μμν€λ ν΄λμ€λ₯Ό λ³κ²½νμ§ μκ³ μ¬μ¬μ©νκ³ μ ν λ μ μ©νλ€.
- μ€νλ κΈ°λ₯μ μΊ‘μνν¨μΌλ‘μ¨ κΈ°λ₯μ μ€νμ μꡬνλ
Invokerν΄λμ€μ μ€μ κΈ°λ₯μ μ€ννλ μμ μ ν΄λμ€ μ¬μ΄μ μμ‘΄μ±μ μ κ±°νλ€. - μ€νλ κΈ°λ₯μ λ³κ²½μλ
Invokerν΄λμ€λ₯Ό μμ μμ΄ κ·Έλλ‘ μ¬μ© ν μ μλλ‘ ν΄μ€λ€.
