개발자는 어떤 목적으로 프로그램을 만듭니다. 그 프로그램은 목적을 수행하기 위해 부단히 노력하며 자원을 소모합니다.
목적을 수행하는 프로그램이 다수에 의해 사용되고 사용자들을 그 프로그램에 종속시키고자 한다면 플랫폼을 만들면 됩니다.
플랫폼은 API로 이루어져 있습니다.
결국 가장 상위의 개발자는 플랫폼 위에 API를 사용하면서 자신의 어플리케이션을 그 위에 얹으면 되는 형식으로 개발하게 됩니다.
아래는 이러한 플랫폼을 개발하기 위해서 API를 설계하고자 할 때 자주 사용하는 패턴들입니다.
Observer
Template
Wrapper
Adapter
플랫폼 개발자는 사용자(상위 개발자)에게 미리 제공하고자 하는 기능의 interface를 구현해야하며, Hook나 Add On을 이벤트를 넣을 수 있도록 아키텍쳐를 세심하게 설계해야 합니다. 한번 만든 플랫폼은 수정하기 굉장히 어렵습니다. 설계전에 생각의 생각을 거듭해야 합니다.
모든 프로젝트에 플랫폼이 존재 할 수 있습니다. 자주 만드는 기능을 묶어 플랫폼으로 처리할 수도 있습니다.
Java API, PHP의 codeigniter 등 참조하면 C언어에서도 이러한 플랫폼을 구현하는데 많은 도움을 받을 수 있습니다.
'▶ 이전글 > Programming' 카테고리의 다른 글
Eclipse + GCC(MinGW) (0) | 2018.03.10 |
---|---|
Eclipse - Tab, 공백(space) setting (0) | 2018.01.27 |
Eclipse Git 연동 - 2 (0) | 2018.01.20 |
Eclipse Git 연동 - 1 (0) | 2018.01.20 |
Eclipse Theme - Darkest Dark Theme 설치 (0) | 2018.01.19 |