언어 자료구조 알고리즘/Escort C#

[C#] 7.3 설계한 내용 프로젝트에 옮기기 - 초점 이동

언제나휴일 2016. 5. 3. 11:23
반응형

7.3 설계한 내용 프로젝트에 옮기기

 

초점 이동



초점 이동 시퀀스 다이어그램

[그림] 초점 이동 시퀀스 다이어그램


 이번에는 초점 이동에 대한 시퀀스 다이어그램을 보면서 멤버를 추가해 봅시다. 초점 이동에 대한 시퀀스 다이어그램에서는 각 장소에 따라 다르게 수행되는 부분은 약속하지 않고 공통적인 부분만 약속하였습니다. 초점 이동에 관한 시퀀스를 보시면 각 장소로 초점이 이동되고 나서 다시 캠퍼스 생활로 초점이 돌아오면 어떻게 학생들을 복귀시킬 것인지에 대한 시퀀스가 약속되어 있습니다. 먼저, 캠퍼스 생활에서 해당 장소에 학생의 수를 얻어오는 부분이 있고 특정 학생의 정보를 얻어오는 부분이 있습니다. 그리고 사용자에 의해 선택된 학생 번호에 해당하는 학생을 얻어오는 메서드가 약속되어 있네요. 그리고 캠퍼스 생활에서 캠퍼스 개체에게 복귀할 학생을 보내는 것이 약속되어 있네요.

 

 먼저, Place 클래스에 새로운 멤버를 추가해 봅시다. 해당 장소에 있는 학생 수를 반환하는 GetStuCount 메서드와 특정 학생의 정보를 문자열로 반환하는 GetStuInfo 메서드, 특정 번호의 학생을 반환하는 인덱서를 추가하면 되겠죠. 시퀀스 정의에서는 특정 번호의 학생을 반환하는 부분을 메서드로 약속되어 있는데 이 부분은 인덱서의 get 블록으로 추가할게요. 약속이 변경되었으니 시퀀스 다이어그램에도 이를 반영하시기 바랍니다.

 

class Place

{

    ....중략...

    internal Student this[int snum] //인덱서

    {

        get

        {

            throw new NotImplementedException();

        }

    }

    internal int GetStuCount()

    {

        throw new NotImplementedException();

    }

 

    internal string GetStuInfo(int nth)

    {

        throw new NotImplementedException();

    }

}

 

 캠퍼스 개체에 학생을 보내는 메서드를 비롯하여 다른 멤버는 이미 추가한 상태예요.


너와 나의 연결고리 "공감"

반응형