프로그래밍 언어가 점점 발전하고, 언어 내에서도 여러 기능들이 추가적으로 생기는 이유는 프로그래머를 위해서다.
이미 만들어진 기능들에 대해 추후 수정이 용이하게 만들고, 100줄에 걸쳐 구현할걸 몇줄로 줄여준다.
프로그래밍 언어를 공부하다보면, C++내에서도 함수객체란게 굳이 왜 등장한거지? 람다는 왜 있는거야. 등 의문이 많이 든다. 기존에 있는 것들로도 어떻게든 구현해낼 수 있는데 어렵게 왜 자꾸 생겨나는걸까.
이 의문을 풀어나가던 중, 결국 깨달은건, 프로그래머를 위해서란것.
프로그램을 좀더 빨리 만들게 하고, 수정사항이 생기면 좀더 편하게 작업 할 수 있게 만들어준다.
추후 다른 프로그램을 만들때, 과거에 만들던 프로그램과 비슷한 기능이 있다면 가져다 쓸 수 있게 해준다.
C++을 다시 배우고 있는 나로썬, 객체지향 프로그래밍 언어를 다루니 객체 지향으로 프로그램을 짤 수 있어야 한다.
하지만 난 경험이 적기에, 선배 개발자분들의 경험을 간접경험으로나마 느껴봐야 한다.
그 방법 중 하나가 디자인 패턴 공부다.
|
|
커맨드 패턴 (명령 패턴) |
- 함수 호출을 객체화 한 것. 함수를 호출하는 형태에서, 다형성 적용된 객체내 함수를 호출하는 형태로 바뀐것. |
이벤트 큐 |
관찰자 패턴의 비동기형. : 메시지 큐. 발행자/구독자 |
관찰자 패턴 |
관찰자가 대상을 관찰하다가, 대상에 변화가 생기면 관찰자가 변화를 인지해, 그에 맞는 동작을 실시하게 만드는 패턴 대상 A를 관찰하다가 A에 변화가 생기면, A와 관련된 다른 객체들에게 A의 변화를 알려줘, 그에맞는 동작들을 할 수 있게 만드는 패턴. |
상태 패턴 |
|
중개자 패턴 |
상호작용하는 객체간 복잡하게 엉켜있을때, 상호작용 행동을 별도 클래스로 정의해 단순하게 만드는것 |
서비스 중개자 | 어디에서나 중개자를 통해 서비스에 접근하는 형태 |
추상팩토리패턴 | |
데코레이터 패턴 | |
컴포넌트 패턴 | |
안드로이드에서 쓰던 브로드캐스트, 서비스 이런거 다 c++로도 구현할 수 있는 것들이야.
c++에서 넘어가면서, 문법형태로 좀더 편하게 된것 뿐이지.
그렇다면 C++로 이런걸 어떻게 구현할까.
http://supark7.tistory.com/category/%EB%94%94%EC%9E%90%EC%9D%B8%ED%8C%A8%ED%84%B4