Вот несколько сценариев:
- Объект документа, который вы намереваетесь использовать с несколькими окнами (как отмечено выше, комментатор) или с разными представлениями
- Объект документа, который вы потенциально можете открытьи обрабатывать, не отображая окно вообще
- Приложение с таким большим количеством кода контроллера, что трудно управлять одним классом
Во время инициализации окна документ создает экземпляр окнаконтроллер.
После этого часть точки разделения контроллера модели и контроллера представления устраняет зависимость документа от окна .
По мере того, как вы улучшаете свой дизайнпосмотрите на места, где документ должен иметь доступ к окну, и подумайте, можете ли вы реализовать эту функциональность другим способом, например, обработав его в контроллере окна вместо документа.