개방폐쇄원칙(Open/Closed Principle, OCP)
- 정의: “소프트웨어 요소는 확장에는 열려 있어야 하고, 수정에는 닫혀 있어야 한다.”
- 요점: 기존 코드를 수정하지 않고, 새로운 기능을 추가하여 확장할 수 있도록 설계해야 한다.
- Event Sourcing: 상태 변경을 덮어쓰지 않고 이벤트만 추가해서 상태를 추적함.
- Git: 히스토리를 덮어쓰지 않고 새로운 커밋을 추가.
- Immutable Object: 객체의 상태를 변경하지 않고, 새로운 객체로 대체.
- CRDT, append-only logs, blockchain 등…
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.