C/C++ 디자인 패턴 (13) — 책임 연쇄(Chain of Responsibility)

HTTP 요청 하나를 처리하기 전에 차단 IP 확인, 인증, 정적 파일 응답, 애플리케이션 라우팅을 차례로 거쳐야 한다. 이를 함수 하나의 if-else로 늘어놓으면 단계를 추가하거나 순서를 바꿀 때마다 그 함수를 고쳐야…

Continue ReadingC/C++ 디자인 패턴 (13) — 책임 연쇄(Chain of Responsibility)

C++ 예제로 배우는 소프트웨어 설계 기법 (3) — 윈도우 클래스와 메시지 처리(Window)

GUI 시스템의 C API는 윈도우마다 윈도우 프로시저(window procedure) 하나를 등록받아, 클릭·키 입력 같은 메시지를 핸들과 함께 넘겨준다. C로 쓰면 메시지마다 switch의 case가 늘어나고, 버튼·에디터처럼 비슷한 윈도우가 많아지면 같은 switch가 복사된다.…

Continue ReadingC++ 예제로 배우는 소프트웨어 설계 기법 (3) — 윈도우 클래스와 메시지 처리(Window)