책소개
이 책은 타입스크립트 기준으로 객체 지향 프로그래밍에 대해서 다루고 있다.
타입스크립트가 지원하는 기능에 대해 알아보고 SOLID 객체 지향 설계 방식을 설명한다.
실전 예제로 간단한 페인터 프로그램을 만들어 볼 것이다.
먼저 절차 지향 방식으로 진행하여 단점을 파악하고 왜 객체 지향 방식으로 개발해야 하는지 알아본다.
그리고, 후반부에 SOLID 객체 지향 설계 방식과 GoF 디자인 패턴을 이용하여 페인터 프로그램을 객체 지향 방식으로 다시 제작한다.
마지막으로 웹팩을 활용하여 번들링 작업을 진행하고 grunt를 이용해 배포한다.
목차
1장 : 절차 지향 프로젝트
1. 페인터 설명
2. 화면 구성하기
3. 캔버스에 직사각형 그리기
4. 그리기 도구 선택
5. mousedown 이벤트 처리
6. mousemove 이벤트 처리
7. mouseup 이벤트 처리
8. 직선 그리기
9. 직사각형 그리기
10. 타원 그리기
11. 자유선 그리기
12. 선너비 설정하기
13. 선색 설정하기
14. 채움색 설정하기
15. 전체 소스
16. 절차 지향 개발 방식 단점
2장 : ECMAScript 6
1. var 선언자 특성
2. let 선언자
3. const 선언자
4. Symbol 타입
5. 화살표 함수
6. for of 문
7. 디스트럭처링
8. Map 컬렉션 타입
9. Set 컬렉션 타입
10. 함수 매개변수
11. 템플릿 리터럴
12. 클래스 구문
13. 클래스 상속
3장 : 타입스크립트
1. 타입
2. 타입 지정
3. 클래스
4. 추상클래스
5. 인터페이스
6. 모듈
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)
8장 : 번들링
1. 웹팩 설치
2. 타입스크립트 로더
3. 웹팩 설정과 실행
9장 : 배포
1. 그런트 설치
2. 태스크 패키지 설치
3. 그런트 설정과 실행
부록
1. 업데이트
2. 소스다운로드
3. 타입스크립트 설치
4. 소스 코드 실행 방법