비디오: 스마트폰에서 코딩할 수 있는 앱이 나왔다고? [후르츠루프] 파헤치기 2024
iOS에서 클래스와 책임을 생성하려면 먼저 앱 설명과 사용 사례에서 명사를 추출합니다. 이는 잠재적 인 객체, 클래스 및 앱의 속성이됩니다. 그런 다음 설명과 사용 사례에서 동사를 추출합니다. 이들은 후보 책임 (잠재적 인 수업 방법)이됩니다.
다음 목록은 Tic-Tac-Toe와 같은 명사를 식별, 정의 및 추출한 다음 동사를 추출하는 방법을 보여줍니다.
다음으로 빌드하려는 앱의 컨텍스트에서 각 명사의 1-2 줄 정의를 적어 둡니다. 그런 다음이 정의를 비교하십시오. 두 개의 명사가 같은 방식으로 정의 된 것을 발견하면 그 중 하나를 제거하십시오. 또한 두 정의 (따라서 해당 명사)를 하나에 병합하기로 결정할 수도 있습니다.
이 정의, 제거 및 병합 프로세스를 완료하면 후보 클래스로 사용할 일련의 명사가 남습니다. 다음은 Tic-Tac-Toe (명사와 동사의 하위 집합을 사용하여 인내에 대한 세금 징수를 피하기 위해)에서이 프로세스의 예입니다.
명사 제거연필
-
및 논문 > iOS 기반 게임과 관련이없는 물리적 인 것들. Tic-Tac-Toe의 문맥에서 기호 와
-
기호 가 같은 것을 의미하므로 기호를 지우고 기호를 지우십시오. 는 같은 것을 의미하고
-
는 및 X 는 동일 함을 의미한다. 따라서 부당한 영국 용어 naught와 cross를 제거하고 O와 X를 남겨 둡니다. 또한 O와 X는 기호의 인스턴스 또는 하위 클래스로 나타납니다. 사용자 와 플레이어 를 비교합니다.
-
플레이어 를 게임 플레이어로 유지합니다. 문맥에 따라 인간 사용자 와 인간 은 동일 할 수 있습니다. 이 명사는 컴퓨터와 함께 플레이어 의 인스턴스 또는 하위 클래스입니다. 게시판 과 그리드 는 그 중 하나를 삭제할 수 있다는 의미가 비슷합니다.
-
터치 스크린 은 어떻습니까? 이것은 휴대 전화의 물리적 구성 요소를 의미하므로 제거하려고 할 수 있습니다. 반면에, 무엇인가는 보드의 시각적 디스플레이를 처리해야합니다.그것은 보드 자체 일 수 있습니다. 또는 시각적 표현에서 보드를 나타내는 데이터 구조를 분리 할 수 있습니다. 대각선 행 및
-
수평 행 의 구성 요소로 행
-
>를 행 의 다른 하위 클래스 또는 인스턴스로 취급하지만 (아직 알지 못합니다). 명백한 이유로 게임 을 유지하십시오. 게임의 매니저로서 세션 을 고려하며, 스코어는 두 명의 플레이어에 대한 세션의 속성이다. 동사: Tic-Tac-Toe 앱의 동사 후보는 턴 ,
-
마크 , 는
-
재생 재생 재생
>, 종료 , 재설정 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 999 하십시오. 지금은 먼저 플레이하고, 놓친 플레이 두 번째 를 플레이의 세분화 된 부분으로 유지하십시오. 최종 디자인은 마지막 두 동사가 필요 없다는 것을 궁극적으로 보여줄 것입니다. Tic-Tac-Toe 문맥에서 동사로 사용하면 표시 는 표시 와 비슷한 것으로 볼 수 있습니다. 즉, 움직이면서 놀면 표에 위치를 표시합니다. 따라서 표시를 제거하고 장소를 유지하지만 장소 기호로 이름을 변경하십시오. 게임과 관련된 책임이 아니기 때문에 구현 을 제거하십시오. 대신 게임을 만드는 과정과 관련이 있습니다. 유효한 책임으로 표시 , 누적 , 종료 및 재설정 클래스,
-
심볼, 플레이어, 인간, 컴퓨터, 보드, 행, 게임 세션 및 게임 (점수 속성 포함)의 잠재적 클래스, 인스턴스 및 책임은 다음과 같습니다. 인스턴스: O, Symbol 클래스의 X. 책임 (방법이 될 것임): 재생, 배치, 표시, 누적 (점수 부여), 종료 및 재설정. 클래스에 가능한 한 논리적으로 책임을 할당해야합니다. 게임 세션 클래스에 책임을 할당하고, 새로운 게임을하고, 점수를 누적하고, 종료하고 재설정합니다. 게임 클래스에 책임을 할당하고 게임하십시오. 등급위원회는 책임을진다.
-
클래스 게임 그리드에 장소가 있습니다. Symbol, Player, Human, Computer 및 Row에는 책임이 없습니다. 그러나 아직 삭제하지 마십시오.