본문 바로가기

박기완 코딩교육/생각 글

디자인 패턴

프로그래밍 언어가 점점 발전하고,  언어 내에서도 여러 기능들이 추가적으로 생기는 이유는 프로그래머를 위해서다.


이미 만들어진 기능들에 대해 추후 수정이 용이하게 만들고, 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


'박기완 코딩교육 > 생각 글' 카테고리의 다른 글

c++ 복습/ 재정리  (0) 2017.11.19
커리큘럼  (0) 2017.11.19
알파블렌딩  (0) 2017.11.17
ARGB, RGB  (0) 2017.11.17
공부중  (3) 2017.11.11