본문 바로가기
호구지책/C/C++/C#

[MFC] MFC 공부하기

by 하늘의흐름 2017. 10. 28.
반응형

강좌를 써야 하는데.. ㅠㅠ

 

MFC가 나온지 20년이 다 되어 가지만 아직도 많은 분들이 어려워 하고 있는거 같습니다.

 

제가 생각하는 MFC 학습 방법 입니다.

 

1. 선수 과목은 C++과 API입니다. 꼭, 먼저 공부한후 MFC로 접근 하시는 것이 좋을거 같습니다.

 

2. Document/View가 MFC의 전부는 아닙니다. 시중의 모든 서적이 처음 부터 Doc/View 구조를 가지고 시작해서 그런지.. 모두 이 구조를 가지고 시작하는데.. 전 절대 반대 입니다.

 

 

3. 먼저 위저드를 사용하지 말고 다양한 형태의 MFC 모델을 만들어 보면서 MFC 구조를 파악하는 것이 좋을거 같습니다.
   
   Doc/View를 사용하지말고

   APP 만 있는 프로그램 => 그리고 Frame 추가 => 그리고 View 추가  등으로...

   일단 위저드가 생성해주는 코드를 대략적으로 이해 할수 있어야 할거 같습니다.

  

   이방식으로 학습하는게 처음에는 조금 느릴수 있지만 결국 나중에 가면 훨씬 정확하고 빠른 방법이 됩니다.

 

 

4. 다음으로는 C++ 분야에서 흔히 사용되는 디자인 기법(패턴)과 MFC 구조를 비교해 보는것도 MFC를 이해 하는데 도움이 됩니다.

   PreCreateWindow() => template method..
   
   메뉴처리순서(V=>D=>F=>A) => Chain Of Responsility

   Doc/View => Observer 등등으로 비교해 볼수 있겠군요..

   물론 전통적인 디자인 패턴과 MFC 내부 구조는 다른 점이 있지만 MFC 전체를 바라 보는 눈을 키워 줍니다.

 

 

5. Document/View의 구조의 특징과 다양한 View에 활용 기법을 익혀야 합니다.

   MFC의 내부 구조가 어느 정도 감이 잡혔다면 Doc/View구조와 다양한 View의 활용기술을 익혀야 겠지요.

 


6. 다음으로 MFC만의 여러가지 특징을 정확히 이해해야 겠군요..

 

   API핸들과 MFC객체 사이의 관계을 나타내는 FromHandle() => 정말 중요한 개념을 가진 함수 입니다. 
   RUNTIME_CLASS() 의 역활과 필요성등등..

   DECLARE_XXX()등의 역활과 언제 사용하는지도 정확히 파악하셔야 합니다.

 

 

7. 결국 API를 잘해야 합니다.
   
   MFC가 객체지향 원칙에따라 API를 잘 Wrapping 했다면 API를 몰라도 MFC만 잘하면 되지만.. 아쉽게도 MFC는 
   그리 훌륭한 설계가 되지 못해서.. 결국 API를 잘해야 합니다.

 

8. 이제는 "이런경우는 이렇게 한다." 로 수많은 경우의 예제를 잘정리 해 놓아야 할거 같군요...



출처

네이버카페 - MFC를 공부하는 방식..



반응형

댓글