Хороший проблемный домен для ознакомления с ОО-проектом?

Я работаю с кем-то, кто хочет вернуться к программированию после нескольких лет работы в сфере ИТ-поддержки. Они знают все основы итеративного программирования и часто их используют, но их единственный объектно-ориентированный опыт программирования был в колледже. Цель состоит в том, чтобы придумать проект приличного размера, который хорош для иллюстрации и применения концепций ОО. Кто-нибудь когда-либо использовал или думал о хорошей проблемной области для знакомства с ОО? Я ищу область, где такие понятия, как наследование, абстракция и полиморфизм действительно имеют смысл и дают преимущество при моделировании с помощью классов.

Конечно, я немного погуглил и нашел популярные примеры банкоматов и адресной книги . Они оба довольно хороши, но банкомат немного сложнее, чем я ищу. Адресная книга может быть приличной, но я думаю, что она может быть недостаточно сложной или достаточно четкой областью для моделирования объектов. Цель проекта - приложить немало усилий, чтобы завершить его, а не то, что можно сделать за день или два.

Что касается особенностей реализации, проект будет реализован как консольное приложение Java с минимальным пользовательским интерфейсом. Изучение концепций ОО и как их реализовать в Java является основной целью этого приложения.

9.11.2009 00:53:01
В каком домене вы двое привыкли работать?
Jeanne Pindar 9.11.2009 01:08:50
Ну, это страховая компания, поэтому я делаю все виды моделирования политики / покрытия / застрахованных / агентств / потерь. ОО действительно хорош для этого, но для того, чтобы понять, как эти вещи связаны, нужен некоторый опыт, поэтому я не думаю, что область страхования является лучшей для вступления в ОО. Однако, возможно, будет работать упрощенная версия модели.
Kaleb Brasee 9.11.2009 01:35:59
Я работаю в медицинском страховании, особенно в андеррайтинге. Это слишком сложно с деловыми и нормативными аспектами, которые делают очень трудно разобраться в основных принципах.
S.Lott 9.11.2009 01:44:29
Да, я так и думал, я занимаюсь в первую очередь анализом рисков для P & C. Ничего подобного моделированию нескольких покрытий нескольких типов для нескольких единиц ... это слишком много для вступления.
Kaleb Brasee 9.11.2009 02:55:49
4 ОТВЕТА
РЕШЕНИЕ
4
23.05.2017 12:07:05
Интересно ... сначала я говорил: "Подожди, что?", Но когда ты думаешь, кажется, что это может сработать. И это определенно другое!
Kaleb Brasee 9.11.2009 01:08:15
Я думаю, что игры более интересны программистам, а текстовая приключенческая игра проста для понимания и не требует от вас изучения сложных API или математики (3D), как это делает графическая игра.
cletus 9.11.2009 01:12:18
Расширением для этого может быть MUD или MOO. Многопользовательская текстовая приключенческая игра.
Glenn 9.11.2009 01:15:46
@ Caelum: возможно, но это добавляет сложность сети. Кроме того, ядро ​​текстовой приключенческой игры может быть применено и к домену MUD / MOO (позже). Кроме того, я склонен находить, что если вы становитесь чрезмерно амбициозными в отношении чего-то подобного, это быстро бросается.
cletus 9.11.2009 01:19:21
Хорошая идея, щенок, я пойду с этим!
Kaleb Brasee 11.11.2009 00:15:36

Мне нравится симулятор игры в казино. Симуляция является одной из областей приложения, которая ведет к развитию ОО-программирования. Игры в казино относительно простые, но с некоторой сложностью.

Вы можете посмотреть на http://homepage.mac.com/s_lott/books/oodesign.html .

3
9.11.2009 01:42:01
Спасибо, я посмотрю! Когда я нажимаю на вашу ссылку, я получаю страницу «Ошибка учетной записи», но преобразование% 5F в _ устраняет проблему (как и поиск в Google).
Kaleb Brasee 9.11.2009 01:01:45
Мне нравится эта идея. Приложения типа моделирования будут достаточно интересными, чтобы привлечь внимание, и при этом быть достаточно понятными, чтобы получить четкие описания.
Glenn 9.11.2009 01:03:54

По тем же адресам, что и адресная книга, общий каталог (компакт-диски, книги, DVD, оборудование и т. Д.). Идея здесь в том, что у вас есть базовый элемент, который расширяется всеми другими типами (наследование), и каждый из них может реализовывать определенный интерфейс для отображения и других целей (полиморфизм).

0
9.11.2009 00:56:39
Да, каталог - это хорошая идея, я считаю, что так как он работает. Я использовал его для проекта (мини-интернет-магазина) еще в колледже, поэтому я мог бы позаимствовать некоторые требования из этого.
Kaleb Brasee 9.11.2009 01:14:02
плохая идея; это укрепит неверное представление о том, что объекты в ООП соответствуют объектам реального мира
hasen 9.11.2009 01:34:31

Когда я учил других людей понимать ОО-принципы, я просил их относиться к ОО-программированию так, как если бы они строили дом. В доме есть все необходимое.

0
9.11.2009 01:03:05