|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Feb 2012
Сообщений: 212
|
Где расположить метод ответственный за взаимодействия двух объектов?
Здравствуйте, предположим нужно реализовать посадку водителя в машину. Во время посадки, водителю и машине нужно провести ряд операций, связанных с этим действием: водителю - привести себя в сидячее положение, машине запустить голосовое приветствие, например. Вот только в какой класс добавить метод реализующий это действие? Ведь нехорошо если, например, в классе водителя будет присутствовать код, реализующий поведение машины и наоборот? Как тогда быть? Вынести метод в отдельный класс осуществляющий взаимодействие машины и водителя, оставив в последних только данные без логики?
|
|
|||||
Мне представляется примерно так:
Человек>Предмет>Автомобиль>Войти как водитель. Автомобиль>Взаимодействие с человеком>Водитель>Авторизация объекта как "Водитель" Человек>Сесть на водительское кресло, положить руки на руль. Ну образно... |
|
|||||
Попробуйте написать Car и Driver без логики, просто с переменными состояния,
сделать метод "сестьВМашину" в каком-нибудь CarController, который будет менять состояние car и dirver А уже потом, если появятся разные машины, делайте интерфейс ICar и реализовывайте отличающееся для разных машин поведение. Соответственно код CarController, различающийся для разных машин, будет заменён на вызов методов ICar Это так, один из вариантов. Вдруг поможет выйти из ступора |
Часовой пояс GMT +4, время: 11:06. |
|
« Предыдущая тема | Следующая тема » |
|
|