суббота, 12 декабря 2009 г.

Задача на развитие объектного мышления

Всем привет.

Сегодня на ленте предложил студентам второго курса интересную задачку на развитие объектного мышления. Студентам понравилось.

Задача сводилась к следующему. Есть человек и кинотеатр. Человек в кинотеатре может совершать различные действия. Например в кинотеатрах очень часто стоят игровые автоматы и человек может на них поиграть. Отсюда вытекает следующая модель:



Вы понимаете что модель можно еще больше детализировать! Создавать более верную иерархию и т.д.

Задача студентов - создать модель, позволяющую реализовать как можно больше процессов в кинотеатре. При этом никаких жестких требований не предъявлялось к модели. Студенты могли ее делать где угодно, как угодно. Не придерживались никаких нотаций. У объекта есть действие и есть свойства. При этом и действия и свойства можно описывать любым языком. Не делался упор на правильность модели, правильность наследования и т.п.

Результат превзошел мои ожидания. :-) Студенты с удовольствием включились в решение задачи и предложили очень интересные и разные модели! Например одна девушка, сделала очень детализированную модель. Где посетитель мог поздороваться с любым другим посетителем, мог потерять жетон или напиться в баре, а также пописать в туалете мимо и вахтерша его за это ругала! :-) Другие углубились в детализацию кинозала, третьи описали очень полно казино в кинотеатре, с возможностью играть в покер и даже возможные комбинации этой игры. :-) А один парень реализовал паттерн команда, даже не подозревая о существование оного. :-)

В общем было очень весело. :-)

На следующих занятиях я хочу продолжить такие тренинги, но каждый раз усложнять задачу. Например в следующий раз, мы уже будем описывать свойства и методы жестко. Есть свойство, у него есть тип. Есть метод, у него есть возвращаемый тип и параметры определенного типа. Дальше начнем рисовать модели в нотации UML и делать упор на правильном наследовании, а потом научимся извлекать интерфейсы и понимать что такое инкапсуляция.

В общем жду вашего мнения, советов и предложений. :-) Я сегодня в очень хорошем настроении! :-)

4 комментария:

  1. Извиняюсь за оффтоп, а в чем Вы рисуете UML-диаграммы?

    ОтветитьУдалить
  2. Visual Studio 2008, стандартный редактор диаграмм классов. Кнопка будет вверху Solution Explorer'а, при выборе сборки, пиктограмма в виде увеличительного стекла и диаграммы. :-)

    ОтветитьУдалить
  3. Кода же будет курс? Не забыли, ждем, очень интересно!

    ОтветитьУдалить
  4. Free spins are often triggered by way of a scatter of a minimum of|no less than} three designated symbols . Some games permit the free spins bonus to "retrigger", which provides additional spins on prime of these already awarded. There is no theoretical restrict to the variety of free spins obtainable. Some games may have other options that may additionally set 온라인 바카라 off over the course of free spins. Digital know-how has resulted in variations within the original slot machine concept. As the participant is essentially taking part in} a video game, producers can provide extra interactive components, similar to superior bonus rounds and extra varied video graphics.

    ОтветитьУдалить