강좌를 써야 하는데.. ㅠㅠ
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를 공부하는 방식.. (C++ Master) |작성자 smkang72 |
'호구지책 > C/C++/C#' 카테고리의 다른 글
[C#/WPF] DataGrid Style (0) | 2018.11.25 |
---|---|
[MFC] WIN API와의 관계 (0) | 2017.10.28 |
[C++] 비주얼 스튜디오 버전 번호 (0) | 2017.08.14 |
[C#/WPF] 실행파일의 경로 (0) | 2017.06.15 |
[C#/WPF] 업데이트 만들기 (0) | 2017.06.14 |
[C#/WPF] 리스트 박스 아이템 삭제 (LIstBox Item Romove) (0) | 2017.06.11 |
[C#/WPF] 팝업창 (0) | 2017.06.09 |
[C#] postgreSQL Notification 사용하기 (0) | 2017.06.06 |
댓글