Zettelkasten

Command 패턴은 생성과 실행시점을 분리한다.

·수정 2026.04.23·수정 3

요약

  • Command 패턴은 execute 메서드(최소 구현) 하나만 갖고 있는 디자인 패턴
  • 해당 패턴은 생성과 실행시점을 분리하는 목적으로 사용된다.
  • 클래스 형태이기 때문에 실행 정보를 상태로서 갖고 있을 수 있고 이로 인해 redo, undo같은 인터페이스를 갖고 있을 수 있음

본문

  • Command 패턴은 요청을 객체로 캡슐화하는 패턴
from typing import Protocol
class Command(Protocol):
   def execute(self) -> None: ...
   def undo(self) -> None: ...
   def redo(self) -> None: ...

˜