WedX - журнал о программировании и компьютерных науках

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

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

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

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

09.11.2009

  • В какой области вы двое привыкли работать? 09.11.2009
  • Ну, это страховая компания, так что я занимаюсь всевозможными полисами/покрытием/страхованием/агентством/моделированием убытков. Объектно-ориентированный подход действительно хорош для этого, но требуется некоторый опыт, чтобы понять, как эти вещи соотносятся, поэтому я не думаю, что домен страхования является лучшим для введения в объектно-ориентированный подход. Однако упрощенная версия модели, возможно, сработает. 09.11.2009
  • Я работаю в области медицинского страхования, в частности андеррайтинга. Он слишком сложен из-за деловых и нормативных аспектов, из-за чего очень трудно разобраться в основных принципах. 09.11.2009
  • Да, я так и думал, я занимаюсь в основном анализом рисков для P&C. Ничто не сравнится с моделированием нескольких покрытий нескольких типов для нескольких устройств... это слишком много для введения. 09.11.2009

Ответы:


1

Как насчет текстовой приключенческой игры?

09.11.2009
  • Интересно... сначала я подумал: "Подожди, что?", но если подумать, то кажется, что это может сработать. И это точно другое! 09.11.2009
  • Я думаю, что игры, естественно, более привлекательны для программистов, а приключенческая игра на основе текста проста для понимания и не утомляет вас изучением сложных API или математики (3D), как графическая игра. 09.11.2009
  • Расширением для этого может быть MUD или MOO. Многопользовательская текстовая приключенческая игра. 09.11.2009
  • @Caelum: возможно, но это усложняет сеть. Кроме того, ядро ​​текстовой приключенческой игры можно было применить и к домену MUD/MOO (позже). Кроме того, я склонен считать, что если вы слишком амбициозны в чем-то подобном, от этого быстро отказываются. 09.11.2009
  • Клетус, хорошая идея, я согласен! 11.11.2009


  • 3

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

    09.11.2009
  • Да, каталог — хорошая идея, я думаю об этом, поскольку он действительно работает. Я использовал его для проекта (мини-интернет-магазин) еще в колледже, поэтому я мог бы позаимствовать некоторые требования оттуда. 09.11.2009
  • плохая идея; это укрепит неверное представление о том, что объекты в ООП соответствуют объектам реального мира. 09.11.2009

  • 4

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

    09.11.2009
    Новые материалы

    Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
    Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

    Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
    В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..


    Для любых предложений по сайту: [email protected]