Я немного сбит с толку относительно ... ну, проще говоря ... как MVC полностью объектно-ориентирован?
Из работы с большим количеством java и c # я знаю, что ООП, что объекты имеют состояния и поведение.
Я обнаружил, что я разделяю действия с объектами и помещаю их все в моем контроллере, а не храню их в одной реализации (наряду с View, где я больше всего искушаюсь, но, очевидно, вы не можете этого сделать).
Например, скажем, у меня есть воздушный шар. Его модель хранит свое состояние, такое как цвет, местоположение, скорость, с которой он движется на экране, направление, в котором он движется, и т. Д. Однако, если я попытаюсь поставить какой-либотакие действия, как
-(void)moveBalloon:(CGPoint)destination
, это, как правило, недопустимо в модели, поскольку модель содержит только данные об объекте, а представление только рисует объект и не может знать о его местонахождении и т. д.
Может быть, я думаю об этом странным образом. Обычно я рассматриваю BalloonView как отдельный объект от BalloonModel, а контроллер как собственный объект.
Неужели мое мышление здесь совершенно неверно?
Также .. С точки зрения возможности повторного использования, если бы я хотел передать этот объект кому-то еще для использования в их приложении, я бы дал им BalloonView и BalloonModel., но у них не будет доступа ни к каким действиям, которые я уже реализовал как часть объекта Balloon, потому что они находятся в контроллере.