7.3 설계한 내용 프로젝트에 옮기기
판서 강의
[그림] 판서 강의 시퀀스 다이어그램
이번에는 초점이 강의실로 이동되어 판서 강의하는 부분을 시퀀스 다이어그램을 보며 필요한 멤버를 추가해 봅시다. 캠퍼스 생활에서는 강의실에 판서 강의하라는 것을 DoIt 메서드에 해당 행위를 인자로 전달하게 되어 있네요. 이 부분은 기능 확장을 쉽게 하기 위해 각 장소에 따라 수행할 수 있는 일의 종류를 정의하고 입력 인자로 해당 일의 종류를 전달받아 수행하게 한 것입니다. 따라서 다른 시퀀스 다이어그램까지 살펴보면 DoIt 메서드는 각 장소의 기반 클래스인 Place에 추상 메서드로 약속하고 각 장소에서는 재정의하면 된다는 것을 생각할 수 있을 것입니다.
abstract class Place { ....중략... internal abstract void DoIt(int cmd); } |
class LectureRoom:Place { internal LectureRoom() { throw new NotImplementedException(); } internal override void DoIt(int cmd) { throw new NotImplementedException(); } } |
그리고 강의실에서는 모든 학생에게 강의를 듣게 하고 도전적인 학생일 경우 질문을 하게 되어 있네요. 이에 학생 클래스에는 ListenLecture 멤버 메서드를 추가하고 CStudent에는 Question 메서드를 추가합시다.
class Student { ... 중략 ... internal void ListenLecture() { throw new NotImplementedException(); } } |
class CStudent:Student { ... 중략 ... internal void Question() { throw new NotImplementedException(); } } |
너와 나의 연결고리 "공감"
'언어 자료구조 알고리즘 > Escort C#' 카테고리의 다른 글
[C#] 7.3 설계한 내용 프로젝트에 옮기기 - TV 시청 (0) | 2016.05.03 |
---|---|
[C#] 7.3 설계한 내용 프로젝트에 옮기기 - 잠자기 (0) | 2016.05.03 |
[C#] 7.3 설계한 내용 프로젝트에 옮기기 - 책 읽기 (0) | 2016.05.03 |
[C#] 7.3 설계한 내용 프로젝트에 옮기기 - 세미나 (0) | 2016.05.03 |
[C#] 7.3 설계한 내용 프로젝트에 옮기기 - 발표 수업 (0) | 2016.05.03 |
[C#] 7.3 설계한 내용 프로젝트에 옮기기 - 초점 이동 (0) | 2016.05.03 |
[C#] 7.3 설계한 내용 프로젝트에 옮기기 - 학생 이동 (0) | 2016.05.03 |
[C#] 7.3 설계한 내용 프로젝트에 옮기기 - 클래스 추가 (0) | 2016.05.03 |
[C#] 7.2.2 프로젝트 설계 - 시퀀스 다이어그램 (0) | 2016.05.03 |
[C#] 7.2 프로젝트 설계 - 클래스 다이어그램 (0) | 2016.05.03 |