남이 작성한 코드를 내 코드에 적용해야 할 때가 아주 많습니다. 그러나 대부분 크기가 다른 볼트와 너트처럼 딱 맞아 떨어지지 않습니다. 이럴 땐 어떻게 해야 할까요? 중간에 양 쪽에 잘 맞는 나사를 하나 덧 대는 것으로 해결 할 수 있습니다. Adapter 패턴은 흔히 레거시 코드(Legacy Code)라고 불리는 예전에 작성된 코드들을 현재의 코드와 맞게 고치는 방법입니다. 다른 사람이 작성한 코드를 자신의 코드에 맞게 고쳐쓰는 방법으로도 좋습니다. 우리는 중간에 Adapter라는 Wrapper 함수를 만들어 Adapter패턴을 구현할 것입니다. 이번 예제에서는 display라는 콘크리트 코드를 driver라는 interface와 호환이 되도록 만들어 보겠습니다. 우선 display 콘크리트 코드부터 ..
자료구조를 다룰때 많이 사용되는 Iterator 패턴을 살펴보도록 하겠습니다. 보시다시피 8bit 자료형을 취급하는 iterator입니다. setup_iterator은 커스텀되어있는 자료형과 연결하는 함수입니다. 즉, 사용자가 만든 자료형과 인터페이스와 연결하는 부분입니다. /* iterator.h */typedef struct{ void (*init)(void); bool (*set_value)(uint8_t value); bool (*get_first_value)(uint8_t re_value); bool (*get_next_value)(uint8_t re_value); bool (*has_next)(void); uint8_t *(*get_current_buffer)(void);}iterator_t;..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.