책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 객체지향 프로그래밍/UML
· ISBN : 9788956741161
· 쪽수 : 448쪽
· 출판일 : 2003-06-20
책 소개
목차
제1장 디자인 패턴이란?
디자인 패턴 정의
학습 과정
디자인 패턴 공부
객체지향 접근 방법에 대한 노트
C# 디자인 패턴
이 책의 구성
제2장 C# 언어 구문
데이터 타입
숫자와 문자열 사이의 변환
다중 변수 선언
숫자 상수
문자 상수
변수
변수를 사용할 때 선언
여러 개의 변수를 동시에 초기화
간단한 C# 프로그램
산술 연산자
증감 연산사
산술 대입 연산자
C#에서의 조건 판단
비교 연산자
복합 조건문
가장 일반적인 실수
switch 문
C#의 주석
삼항 연산자
C#에서의 반복문
while 반복문
do-while 문
for 반복문
for 문 안에서의 변수 선언
for 반복문 안의 콤마
C#과 C의 차이점
C#과 Java의 차이점
요약
제3장 C# 윈도우 프로그래밍
C#의 객체
관리(managed) 언어와 가비지 컬렉션
C#의 클래스와 네임스페이스
C# 애플리케이션 생성
간단한 C# 윈도우 프로그램
Windows 컨트롤
Label 컨트롤
TextBox 컨트롤
CheckBox 컨트롤
Button 컨트롤
Radio Button 컨트롤
ListBox 컨트롤과 ComboBox 컨트롤
Items 컬렉션
메뉴
툴팁
Windows Controls 프로그램
요약
제4장 C#에서 클래스와 객체 사용하기
클래스를 왜 사용하는가?
간단한 온도 변환(Temperature Conversion) 프로그램
Temperature 클래스 만들기
Kelvin으로 변환하기
Temperature 클래스 안에서의 의사 결정
클래스를 사용한 서식 및 값 변환
부적절한 값의 처리
StringTokenizer 클래스
객체로서의 클래스
클래스 포함
초기화
클래스와 속성
C#의 프로그래밍 스타일
위임(delegate)
인덱서(indexer)
연산자 오버로딩(operator overloading)
요약
제5장 상속성
생성자(constructor)
C#의 그리기와 그래픽
상속성 사용하기
네임스페이스
직사각형으로 정사각형 만들기
공개, 비공개, 그리고 보호
오버로딩(overloading)
virtual 키워드와 override 키워드
파생 클래스에서의 메서드 재정의
new를 사용한 메서드 대체
Windows 컨트롤 재정의
인터페이스
추상 클래스(abstract class)
인터페이스와 추상 클래스의 비교
요약
제6장 UML 다이어그램
속성
인터페이스
합성(composition)
주석 처리
제7장 C#의 배열, 파일, 예외
Collection 객체
ArrayList
Hashtable
SortedList
예외
다중 예외
예외 던지기
파일 처리
File 객체
텍스트 파일 읽기
텍스트 파일 쓰기
파일 내에서의 예외 처리
파일 끝을 검사하기
csFile 클래스
제8장 Simple Factory 패턴
샘플 코드
두 개의 파생 클래스
Simple Factory 생성
팩토리 사용
수학 계산에서의 Factory 패턴
요약
생각해 볼 문제
제9장 Factory Method 패턴
Event 클래스
StraightSeeding
CircleSeeding
시드 배정 프로그램
다른 팩토리들
Factory Method를 사용할 때
생각해 볼 문제
제10장 Abstract Factory 패턴
PictureBox 컨트롤
RadioButton과 Button 이벤트 처리
클래스 추가
Abstract Factory 패턴의 중요성
생각해 볼 문제
제11장 Singleton 패턴
예외와 인스턴스
예외 던지기
클래스 인스턴스 생성
Singleton에 전역 접근 포인트 제공
Singleton 패턴의 다른 중요성
제12장 Builder 패턴
투자 추적기
StockFactory 클래스
CheckChoice 클래스
ListboxChoice 클래스
ListBox 컨트롤에서의 Items 컬렉션 사용
데이터 도표화
마지막 선택
Builder 패턴의 중요성
생각해 볼 문제
제13장 Prototype 패턴
Prototype 사용
클래스 복제
Prototype 패턴의 사용
같은 인터페이스를 갖지만 다른 클래스
프로토타입 관리자
Prototype 패턴의 결론
생각해 볼 문제
제14장 Adapter 패턴
Adapter 만들기
DataGrid의 사용
로우 선택 감지하기
TreeView 사용하기
클래스 어댑터
양방향 어댑터
C#의 객체 어댑터 vs 클래스 어댑터
플러그할 수 있는 어댑터
생각해 볼 문제
제15장 Bridge 패턴
VisList 클래스
클래스 다이어그램
Bridge 확장
브릿지로서의 Windows 폼
Bridge 패턴의 결론
생각해 볼 문제
제16장 Composite 패턴
급여 계산
Employee 클래스
Boss 클래스
Employee 계층도 구성
셀프 프로모션(Self-Promotion)
이중 연결 리스트
Composite 패턴의 결론
간단한 합성
.NET에서의 합성
다른 구현 이슈들
생각해 볼 문제
제17장 Decorator 패턴
Decorator에서의 이벤트 처리
레이아웃 고려
컨트롤 크기와 위치
다중 Decorator
비시각적인 Decorator
Decorator, Adapter, Composite 패턴 비교
Decorator 패턴의 결론
생각해 볼 문제
제18장 Facade 패턴
데이터베이스에서 데이터 읽기
데이터베이스의 종류
ODBC
데이터베이스 구조
ADO.NET 사용
데이터베이스 연결
데이터베이스 테이블에서 데이터 읽기
질의 실행
테이블의 내용 삭제하기
ADO.NET을 사용하여 데이터베이스 테이블에 로우 추가하기
Facade 클래스 구축
가격 질의 구축
ADO.NET Facade 만들기
DBTable 클래스
각 테이블에 대한 클래스 생성
Price 테이블 생성
데이터베이스 테이블 로딩하기
최종 애플리케이션
Facade를 구성하는 것은 무엇인가?
Facade 패턴의 결론
생각해 볼 문제
제19장 Flyweight 패턴
예제 코드
클래스 다이어그램
폴더 선택하기
Mouse와 Paint 이벤트 처리
C#에서의 Flyweight 사용
공유할 수 있는 객체
Copy-on-Write 객체
생각해 볼 문제
제20장 Proxy 패턴
C#에서의 프록시
Copy-on-Write
관련된 패턴과의 비교
생각해 볼 문제
제21장 Chain of Responsibility
예제 코드
목록 상자
도움말 시스템 프로그래밍
도움말 명령 받기
체인 or 트리?
요청의 종류
C#에서의 예제
책임의 체인
생각해 볼 문제
제22장 Command 패턴
Command 객체
Command 객체의 구축
Command 패턴의 결론
CommandHolder 인터페이스
취소(Undo) 제공하기
생각해 볼 문제
제23장 Interpreter 패턴
적용성
간단한 보고서 예제
언어 해석
파싱에 사용되는 객체
파싱된 스택 축소
Interpreter 패턴 구현
구문 트리
Interpreter 패턴의 결론
생각해 볼 문제
제24장 Iterator 패턴
예제 반복자 코드
반복자 가져오기
여과된 반복자
클럽 관리하기
Iterator 패턴의 결론
제25장 Mediator 패턴
컨트롤간의 상호 작용
샘플 코드
시스템의 초기화
Mediator와 Command 객체
Mediator 패턴의 결론
단일 인터페이스 Mediator
구현에 관한 문제
동기
제26장 Memento 패턴
샘플 코드
주의 사항
사용자 인터페이스의 Command(명령) 객체
마우스와 페인트 이벤트 처리
Memento의 결론
생각해 볼 문제
제27장 Observer 패턴
미디어를 위한 메시지
Observer 패턴의 결론
제28장 State 패턴
상태의 전환
Mediator가 StateManager와 어떻게 상호 작용하는가?
ComdToolBarButton
채우기 상태 처리
취소(Undo) 목록 처리
VisRectangle과 VisCircle 클래스
Mediator와 "신(God)" 클래스
State 패턴의 결론
상태 전이
생각해 볼 문제
제29장 Strategy 패턴
샘플 코드
Context 클래스
프로그램 명령
라인과 바 그래프 Strategy
C#으로 Plot 작성하기
Bar Plot 작성
Line Plot 작성
Strategy 패턴의 결론
제30장 Template Method 패턴
Template 클래스의 메서드 종류
샘플 코드
일반적인 삼각형 그리기
이등변 삼각형 그리기
삼각형 제도 프로그램
Template과 Callback
요약 및 결론
제31장 Visitor 패턴
언제 Visitor 패턴을 사용하는가?
샘플 코드
클래스 방문
여러 클래스 방문
보스도 직원이다
Visitor를 갖고 있는 Catch-All 오퍼레이션
이중 가져오기(Double Dispatching)
왜 이 일을 하는가?
연속적인 클래스 추적
Visitor 패턴의 결론
생각해 볼 문제