책소개
이 책은 자바스크립트 객체 지향 프로그래밍에 대해서 다루고 있다.
자바스크립트 객체에 대해서 심도있게 알아보고 SOLID 객체 지향 설계 방식을 설명한다.
실전 예제로 간단한 페인터 프로그램을 만들어 볼 것이다.
먼저 절차 지향 방식으로 진행하여 단점을 파악하고 왜 객체 지향 방식으로 개발해야 하는지 알아본다.
그리고, 후반부에 SOLID 객체 지향 설계 방식과 GoF 디자인 패턴을 이용하여 페인터 프로그램을 객체 지향 방식으로 다시 제작한다.
목차
1부 : 절차 지향 프로젝트
1. 페인터 설명
2. 화면 구성하기
3. 캔버스에 직사각형 그리기
4. 그리기 도구 선택
5. mousedown 이벤트 처리
6. mousemove 이벤트 처리
7. mouseup 이벤트 처리
8. 직선 그리기
9. 직사각형 그리기
10. 타원 그리기
11. 자유선 그리기
12. 선너비 설정하기
13. 선색 설정하기
14. 채움색 설정하기
15. 전체 소스
16. 절차 지향 개발 방식 단점
2부 : 자바스크립트 객체
1. 객체 리터럴과 객체
2. 생성자와 객체
3. Object.create()와 객체
4. 프로퍼티 존재 확인
5. 프로퍼티 열거
6. 프로퍼티 속성
7. 프로퍼티 정의
8. 프로퍼티 속성 변경
9. 프로퍼티 삭제
10. 타입 확인 (typeof)
11. 프로토타입 (prototype)
12. 컨스트럭터 (constructor)
13. 프로토타입 체인
14. 객체 유형 확인 (instanceof)
15. 생성자 상속
16. 상위생성자 프로퍼티 사용
17. 메서드 다형성
18. 메서드 추상화
19. 상위생성자 메서드 호출
3부 : 자바스크립트 기법
1. 네임스페이스
2. 실행 함수 표현식
3. 모듈 패턴
4. 참과 거짓
5. 동등연산자와 일치연산자
4부 : 클래스 관계와 UML
1. 상속(generalization)
2. 구현(realization)
3. 연관(association)
4. 집합(aggregation)
5. 합성(composition)
6. 의존(dependency)
5부 : 객체 지향 설계 원칙
1. 단일 책임 원칙
2. 개방 폐쇄 원칙
3. 리스코프 치환 원칙
4. 인터페이스 분리 원칙
5. 의존 역전 원칙
6부 : 객체 지향 프로젝트
1. 화면 구성하기
2. 페인터 모델 만들기
3. 직사각형 생성자 정의하기
4. 타원 생성자 정의하기
5. 그림개체 추상화
6. 그리기 툴 속성 설정
7. 자유선 생성자 정의하기
8. 마우스 이벤트 처리
9. 직선 그리기
10. 직사각형 그리기
11. 타원 그리기
12. 정적 메서드 정의하기
13. 자유선 그리기
14. MVC 패턴 적용하기
15. Observer 패턴 적용하기
16. Strategy 패턴 적용하기
17. State 패턴 적용하기
18. Factory Method 패턴 적용하기
19. 선너비 설정하기
20. 선색 설정하기
21. 채움색 설정하기
22. 전체 소스
7부 : GoF 디자인패턴
1. 싱글턴(Singleton)
2. 빌더(Builder)
3. 팩토리 메서드(Factory Method)
4. 프로토타입(Prototype)
5. 추상팩토리(Abstract Factory)
6. 어댑터(Adapter)
7. 브리지(Bridge)
8. 컴포지트(Composite)
9. 데커레이터(Decorator)
10. 퍼사드(Facade)
11. 플라이웨이트(Flyweight)
12. 프록시(Proxy)
13. 책임 연쇄(Chain of Responsibillity)
14. 커맨드(Command)
15. 인터프리터(Interpreter)
16. 이터레이터(Iterator)
17. 미디에이터(Mediator)
18. 메멘토(Memento)
19. 옵저버(Observer)
20. 스테이트(State)
21. 스트래티지(Strategy)
22. 템플릿 메서드(Template Method)
23. 비지터(Visitor)
부록
1. 업데이트
2. 소스다운로드