Skip to content

romanshul/hometask

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

hometask

Автоматизация жизни жителя (назовём его житель Хи) в игрушечном городе.


Задачи: путешествие по городу выбранного героя – его реакция на события происходящие в системе: регулирование дорожного движения, регулировка железнодорожного движения, регулирование дня-ночи, регулировка освещения ночью, работа учебных заведений, работа магазинов, жилой сектор, административные здания. События: рассвет, переход дороги, Хи заходит во двор с собаками, Хи попадает под автомобиль, Хи сталкивается с препятствием. Два абстрактных класса: живое, неживое.
Житель, собака… будут наследовать свойства живых сущностей, например, движение.
Солнце, Луна, дома, деревья, светофоры, автомобили… будут наследовать свойства неживых сущностей, например, устойчивость, упругость.
Описывается реакция на взаимодействие жителя Хи с другими сущностями.

Житель: стоять, лежать, сидеть, идти, бежать, грести в воде. - Эти функции являются реакциями на соответствующие события в городе:

  • Житель Хи заходит во двор с собаками, реакция – поворот и увеличение скорости.
  • Хи сталкивается с другим жителем – реакция различна.
  • Заходит Солнце и Хи находится дома, реакция – лежать.
  • Восход Солнца и Хи находится дома, реакция – подъем.
  • Хи долго движется по городу, реакция – замедление скорости (усталость).
  • Хи попадает под авто, реакция – лежать.
  • Хи падает в бассен, реакция - грести.
  • Хи переходит дорогу на красный, реакция – свисток правоохранителя.

Creator: создает новый объект, из двух при взаимодействии жителя с автотранспортом – управляемый автотранспорт, у него будет свой набор классов, описывающий движение по городу и взаимодействие с другими объектами. - правильно ли будет описывать композиционный объект из двух таких сущностей? Не логично, но кажется удобным.

Контроллер: принимает сигналы от датчиков и отдает их на обработку.

Принцип Low Coupling используется в большей степени при встречи жителя Хи живыми сущностями, так как реакция может быть различной.

Принцип High Cohesion – при встрече с неживыми сущностями, если например Хи сталкивается со стеной – он останавливается(если стена не слишком тонкая, а скорость Хи не слишком большая)).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published