русский
Germany.ruForen → Архив Досок→ Programmierung

Задачи для начинающих

29.01.21 11:32
Re: Задачи для начинающих
 
Murr патриот
Murr

Поставленная в 1-ом посте задача сводится к "написать котроллер обогревателя"

-----

Тогда вполне годится сааамый первый вариант... безум


В постановке задачи определены три сущности - террариум, нагреватель и термометр(?, не явно).

террариум, по определению, должен агрегиривать нагреватель и термометр.

изолируем фактические нагреватель и термометр соответствующими контроллерами.

Вот она - 5-ка.

Можно - усложнить (или упростить сопровождение) введя фабрики для двух сущностей, как оно обычно и бывает на практике.



в котором начинающий должен двигаться

-----

Ну должен. У него, правда, пока еще не уложилось Если...То...Иначе. смущ



Там 2 класса, один из которых не имеет функционала.

-----

А должно быть минимум 3.

Пусть два из них - нагреватель и термометр - абстрактные.

При этом нагреватель не должен знать об термометре, а термометр - об нагревателе.

Вообще не должны. Потому как в террариуме они никак напрямую не взаимодействуют.

Террариум, кстати, тоже не должен управлять процессом - его задача - получить инстансы нагревателя и термометра, создать контроллер на базе полученных инстансов и запустить его в работу.



И, кстати, у тебя в решении есть существенная ошибка.

Она заключается в том, что ты принял как данное термин - нагреватель.

В большинстве случаев это будет корректно.

Но не всегда - террариум, по определению, является системой с контролируемой температурой.

Так что вполне может иметь место ситуация когда надо охлаждать - следовательно - надо переделывать контроллер. спок

 

Sprung zu