2009-11-09 5 views
1

저는 IT 지원 업무를 수년간 끝내고 프로그래밍을 시작하려는 사람과 함께 일하고 있습니다. 그들은 모든 반복 프로그래밍 기본 사항을 알고 자주 사용했지만 객체 지향 프로그래밍 경험은 대학에서만 사용되었습니다. 목표는 객체 지향 개념을 설명하고 실습하는데 알맞은 적절한 크기의 프로젝트를 제안하는 것입니다. OO 소개를 위해 좋은 문제 영역을 사용하거나 생각한 적이 있습니까? 나는 상속, 추상화 및 다형성과 같은 개념이 실제로 의미가 있고 클래스로 모델링 할 때 이점을 제공하는 도메인을 찾고 있습니다.OO 프로젝트 소개를위한 좋은 문제 도메인은 무엇입니까?

물론 인터넷 검색을 통해 인기있는 ATM and Address Book OO examples을 발견했습니다. 둘 다 꽤 좋지만 ATM은 내가 원하는 것보다 조금 복잡합니다. 주소록은 좋을지 모르지만 충분히 복잡하지 않거나 개체 모델링을위한 충분한 도메인이 아닌 것 같습니다. 목표는 프로젝트가 완료하기 위해 상당한 노력을 기울이는 것이지 오후 또는 2시에 완전히 완료 될 수있는 것은 아닙니다.

구현 세부 사항은 프로젝트가 최소한의 UI로 Java 콘솔 앱으로 구현됩니다. OO 개념을 배우고 Java에서 구현하는 방법은이 응용 프로그램의 주요 목적입니다.

+0

두 분은 어느 분야에서 일하셨습니까? –

+0

음, 그것은 보험 회사입니다. 그래서 모든 종류의 보험/보험/보험/대리점/손실 모델링을합니다. OO는 이것에 정말 좋지만, 이러한 것들이 어떻게 연관되어 있는지를 알아내는 데 약간의 경험이 필요합니다. 그래서 보험 도메인이 OO에 대한 소개를위한 최선이라고 생각하지 않습니다. 그러나 모델의 단순화 된 버전이 가능할 수도 있습니다. –

+0

저는 건강 보험, 특히 보험 업무에서 일합니다. 비즈니스와 규제 측면에서 너무 복잡하기 때문에 기본 원칙을 정리하는 것이 매우 어렵습니다. –

답변

4

어떨까요? text based adventure game은 어떻습니까?

+0

흥미 롭습니다 ... 처음에는 "잠깐, 뭐라구?"라고 생각했지만, 생각하면 그저 효과가있는 것처럼 보입니다. 그리고 그것은 확실히 다릅니다! –

+1

게임은 당연히 내가 생각하는 프로그래머들에게 더 매력적이며 텍스트 기반 어드벤처 게임은 이해하기 쉽고 그래픽 게임처럼 복잡한 API 나 수학 (3D)을 배울 수 있습니다. – cletus

+0

확장 프로그램은 MUD 또는 MOO 일 수 있습니다. 멀티 플레이어 텍스트 기반 어드벤처 게임. – Glenn

3

나는 카지노 게임 시뮬레이션을 좋아합니다. 시뮬레이션은 객체 지향 프로그래밍의 개발로 이어지는 애플리케이션 영역 중 하나입니다. 카지노 게임은 비교적 단순하지만 세련된 게임입니다.

http://homepage.mac.com/s_lott/books/oodesign.html에서 볼 수 있습니다.

+0

감사합니다. 내가 살펴볼 것입니다! 링크를 클릭하면 "계정 오류"페이지가 표시되지만 % 5F를 _로 변환하면 문제가 해결됩니다 (Google 검색처럼). –

+0

나는이 아이디어를 좋아한다. 앱의 시뮬레이션 유형은 관심을 끌만큼 충분히 흥미롭지 만 명확한 설명을 얻기에는 충분히 이해되는 반면. – Glenn

+0

링크가 수정되었습니다 (마크 다운에서 내 URL이 마음에 들지 않습니다.) –

0

주소록과 동일한 줄에 일반 카탈로그 (CD, 책, DVD, 장비 & 등)가 있습니다. 여기서 아이디어는 다른 모든 유형 (상속)으로 확장 된 기본 항목을 가지며 각 항목은 표시 및 기타 용도 (다형성)를위한 특정 인터페이스를 구현할 수 있습니다.

+0

학창 시절을 생각 나게합니다. * 하품 * (+1) –

+0

예, 카탈로그는 확실한 아이디어입니다. . 대학에서 프로젝트 (미니 웹 스토어)로 사용했기 때문에 일부 요구 사항을 빌릴 수 있습니다. –

+3

나쁜 아이디어; OOP의 객체가 실제 객체와 일치한다는 잘못된 생각을 다시 강요합니다. – hasen

0

OO 원칙을 이해하는 방법을 다른 사람들에게 가르쳐봤을 때, 나는 OO 프로그래밍과 관련하여 집을 짓는 것처럼 말했습니다. 집에는 필요한 모든 것이 있습니다.