디자인 패턴
디자인 패턴은 소프트웨어 개발에서 일반적인 문제에 대한 올바른 해결책의 표본이나 예시를 나타냅니다.
디자인 패턴 사용의 장점은 코드 작성 시간이 단축되므로 작업 흐름의 복잡성이 감소한다는 점입니다. 모든 패턴은 미리 정해진 이름을 가지고 있어 개발자 간의 의사소통도 용이하게 합니다.
단점으로는, 개발자가 구현하는 제품에 모든 기능이 필요하지 않은 경우에도 선택한 패턴을 적용하고 싶은 유혹을 느낄 수 있다는 점을 들 수 있습니다.
주요 디자인 패턴 유형은 다음과 같습니다:
- 위임 패턴 (Delegation pattern)은 자신의 동작 수행에 대한 책임을 연결된 객체에 넘깁니다.
- 기능적 디자인 패턴 (Functional design)은 각 모듈에 대해 다른 모듈에 미치는 부작용을 최소화하면서 수행되는 구체적인 기능을 제공합니다.
- 불변 인터페이스 (Immutable interface)는 변경 불가능한 객체를 생성합니다.
- 인터페이스 (Interface)는 프로그램을 더 쉽게 이해할 수 있도록 구조화합니다.
- 마커 인터페이스 (Marker interface)는 속성이나 어노테이션 구현의 유무를 표시하는 데 사용됩니다.
- 속성 컨테이너 (Property container)는 클래스를 새로운 속성으로 확장하는 대신 클래스의 내부 컨테이너에 추가 속성을 붙입니다.
- 이벤트 채널 (Event channel)는 발행-구독 패턴에서 메시지가 전달되는 채널을 생성합니다. 이 목적으로 이 패턴에는 발행자도 구독자도 아닌, 단지 그들 간의 연결을 제공하는 대리자 객체가 있습니다.
함께 보기
- 문제에 대한 잘못된 해결책을 정의하는 안티 패턴
- 프로그래밍 접근 방식을 정의하는 개념 집합 프로그래밍 패러다임
-
작업의 규모와 복잡성을 추정하기 위한 기법
planning-poker - 남은 작업량을 그래픽으로 나타내는 데 사용되는 번다운 차트