Strategy 패턴은 아주 단순하며 디자인 패턴 중에 가장 유용한 패턴입니다. 사용법은 아주 간단하며 interface를 만들고 원하는 곳에서 Concrete 코드를 치환해서 사용하면 됩니다. 적절한 예제일지는 모르지만, 특정한 상황에서 uart를 spi로 변경하는 드라이버 예제를 보도록 하겠습니다. 먼저 interface를 구현해보도록 하겠습니다. /* driver.h */ typedef struct { bool (*open)(void); bool (*close)(void); bool (*read)(uint32_t addr, uint8_t *value); bool (*write)(uint32_t addr, uint8_t *value, uint32_t len); }driver_t; open, clo..
지난시간에 이어 display - driver를 잇는 adapter 부분을 구현해 보도록 하겠습니다. 궁극적으로는 아래와 같은 구조가 되겠네요. display - adapter - driver 다 구현하면 중간에 adapter가 있어 display도 다른 driver처럼 사용할 수 있게 됩니다. 먼저 adapter의 header(interface) 부터 살펴 보도록 하겠습니다. setup_display_adapter을 선언하는 것이 전부입니다. setup_display_adapter를 호출하면 driver_t의 포인터를 전달해 주도록 되어있습니다. 아참 아래와 같은 코드가 많이 나오는데요, 혹시 모르시는 분들이 계실까봐 설명드리자면 여러 파일에서 하나의 header파일을 include할 때 중복선언으로 ..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.