Его основное преимущество заключается в том, что это соглашение и обеспечивает согласованность всех наших контроллеров. Это облегчает нам настройку «контекстов» / приспособлений тестирования, которые могут инициализировать среду в сценарии интеграционного тестирования. В большинстве случаев условные обозначения == быстрота, поскольку это устраняет множество сценариев "что, если" из ваших соображений проектирования.
Поскольку все наши действия контроллера выполняются по одной схеме, мы можем предполагать много вещей, и это ускоряет и оптимизирует наши усилия по интегрированному тестированию контроллера.
В этом нет ничего плохого, обязательно наличие нескольких аргументов для действия контроллера, но мы обнаружили, что наличие фактического объекта модели дает нам некоторые дополнительные функциональные возможности, поскольку модель может содержать простую логику и предоставлять удобные свойства, которые могут просто некоторые из сложные аспекты его собственного состояния и т. д. - в основном, это аргумент в пользу наличия какой-либо богатой модели и не уникален для паттерна Thunderdome / OMIOMO.