자바스크립트는 ES6버젂에서 class 키워드를 도입했습니다. 자바스크립트는 객체지향 얶어였지맊 다른 객체지향얶어처럼 사용하기에는 맋은 불편함이 있었습니다.
심지어 자바스크립트는 객체지향얶어라고 볼 수 없다고 하는 분들도 있었을 정도였죠. 최근 선풍적읶 읶기를 얻고 있는 React, Angular 같은 기술은 클래스 문법을 채택했습니다. 따라서 클래스 문법에 대핚 이해가 깊다면 새로욲 기술을 습득핛 때 맋은 도움이 될 것 입니다. 다른 객체지향 얶어와 자바스크립트의 차이를 이해하지 못하고 사용하게 되면 맋은 문제점이 발생합니다. 안타깝지맊 자바스크립트를 사용하고 있는 개발자들 중에서도 제대로 이해하고 사용하시는 분은 맋지 않은 듯 합니다.
자바스크립트는 ES6버젂에서 class 키워드를 도입했습니다. 자바스크립트는 객체지향 얶어였지맊 다른 객체지향얶어처럼 사용하기에는 맋은 불편함이 있었습니다.
심지어 자바스크립트는 객체지향얶어라고 볼 수 없다고 하는 분들도 있었을 정도였죠. 최근 선풍적읶 읶기를 얻고 있는 React, Angular 같은 기술은 클래스 문법을 채택했습니다. 따라서 클래스 문법에 대핚 이해가 깊다면 새로욲 기술을 습득핛 때 맋은 도움이 될 것 입니다. 다른 객체지향 얶어와 자바스크립트의 차이를 이해하지 못하고 사용하게 되면 맋은 문제점이 발생합니다. 안타깝지맊 자바스크립트를 사용하고 있는 개발자들 중에서도 제대로 이해하고 사용하시는 분은 맋지 않은 듯 합니다.
MFC 발견 1주차 자료입니다.
GUI프로그래밍과 윈도우 프로그래밍 소개입니다.
MFC의 전신인 SDK(API)와의 비교, Qt 라이브러리 간단한 소개, 닷넷의 간단한 소개 등 MFC 외에도 다양한 GUI 및 윈도 프로그래밍 기술에 대해 소개를 합니다.
MFC와 SDK(API) 비교를 통해 MFC의 캡슐화된 개념을 알아봅니다. 또한 MFC가 왜 탄생을 하게 되었는지에 대해서도 소개를 합니다.
MFC의 소스코드들을 직접 찾아가보면서 어떻게 MFC가 구성되며 실행되는지에 대한 내용을 파해쳐봅니다.
전반적으로 MFC에 대한 진입장벽을 낮추어 주는데 초점을 맞추었습니다.
MFC 발견 1주차 자료입니다.
GUI프로그래밍과 윈도우 프로그래밍 소개입니다.
MFC의 전신인 SDK(API)와의 비교, Qt 라이브러리 간단한 소개, 닷넷의 간단한 소개 등 MFC 외에도 다양한 GUI 및 윈도 프로그래밍 기술에 대해 소개를 합니다.
MFC와 SDK(API) 비교를 통해 MFC의 캡슐화된 개념을 알아봅니다. 또한 MFC가 왜 탄생을 하게 되었는지에 대해서도 소개를 합니다.
MFC의 소스코드들을 직접 찾아가보면서 어떻게 MFC가 구성되며 실행되는지에 대한 내용을 파해쳐봅니다.
전반적으로 MFC에 대한 진입장벽을 낮추어 주는데 초점을 맞추었습니다.
19. 문제점:
1. BBwindow 는 Ival_box의 상위개념이 아니다.
2. BBwindow 와 Swing 등의 UI 라이브러리를
두개 이상 사용해야 한다면 복잡해 진다.
20. 문제점:
● BBwindow, CWwindow, IBwindow, LSwindow 각각의 라
이브러리로 전환 될때 마다 거의 모든 프로그램이 리빌
드 된다.
● 두개 이상의 라이브러리를 동시에 사용 할 수 없다.
21. 추상 클래스 활용
원칙
1. 인터페이스와 구현 세부사항은 떨어뜨리자.
2. 인터페이스에 데이타를 두지말자. 데이타가
있으면 의존성이 생긴다.
3. 구현 세부를 수정하더라도 Ival_Box 계열의
클래스는 컴파일되지 않게 하자.
4. 다중 UI 시스템이 동작되게 하자.
27. 객체 생성 위치를 국한시키기
factory 클래스
상속으로 구현하지 않고, 다른 방식으로 구현할
수 있다는 것을 잠깐 눈요기로 보여준다.
이에 대한 자세한 내용은 뒤에 나올거라 생각한
다. 아니면 템플릿이 그 해결책이라고 생각하는
지도~
28. 바른 프로그래밍을 위한 고수의 조언
1. 타입필드는 반드시 피할 것.
2. 복사손실(slicing)을 피하려면 객체의 포인터 혹은 참조
자를 사용해야 한다.
3. 깔끔한 인터페이스 제공에 목적을 두고 있다면 추상 클
래스를 사용하자.
4. 인터페이스를 최소화하려면 추상 클래스를 사용하자.
5. 인터페이스로부터 구현 세부사항을 차단하려면 추상 클
래스를 사용하자.
6. 사용자 코드를 건드리지 않은 채로 기존 함수의 구현코
드를 새로 추가하려면 관련 함수들이 가상 함수로 되어
있어야 한다.
29. 7. 사용자 코드의 재컴파일을 최소화하려면 추상 클래스를
사용하자.
8. 구현 세부사항이 여러개가 될 수 있는 경우를
허용하려면 역시 추상 클래스를 사용할 것.
9. 가상 함수를 가진 다형성 클래스에는 반드시 가상
소멸자가 있어야 한다.
10. 추상 클래스에는 대개 생성자가 필요없다.
11. 겹치지 않는 개념들은 내부 표현 데이터도 반드시
분리해 놓도록 하자.