Каковы преимущества и недостатки использования шаблона Фронтального контроллера?

Оказывается, оборачивание сетки данных в ScrollViewer с горизонтальной полосой прокрутки вызывает эту проблему.

Я нашел этот вопрос, который привел меня к решению: отключить турник, так как он мне не нужен. WPF ScrollViewer вокруг DataGrid влияет на ширину столбца


9
задан Philip Morton 11 February 2009 в 13:26
поделиться

3 ответа

Srikanth имеет хороший ответ. Я хотел бы уточнить альтернативу, все же. Предположим, что у Вас есть эта простая иерархия URL:

/gallery
/blog
/admin/login
/admin/newpost

Если это реализовано с Контроллерами Страницы (PHP, например), оба gallery.php и blog.php должен будет включать некоторых common.php вначале (или поблизости). Однако оба login.php и newpost.php может включать admin-common.php, который самостоятельно вытягивает в 'common.php' и делает '/admin / '-specific установка, как проверка, что пользователь аутентифицируется.

В целом, если у Вас есть иерархия URL, она заканчивает тем, что походила много на объектные деревья наследования. Кроме вместо того, чтобы использовать наследование уровня языка, Вы наследовали среду что foo-common.php Вы включаете.

Я не могу вообразить, как Фронтальный контроллер увеличивает тестируемость В конце, те же самые тесты от автоматизированного агента пользователя HTTP требуются, независимо от реализации.

Одна главная оборотная сторона Контроллеров Страницы - это, действительно делает Ваше веб-приложение зависящим от его среды хостинга. Это также вынуждает Ваших разработчиков "рассматривать" ту же структуру как конечных пользователей, но я полагаю, что хорошая вещь, рассматривая количество сайтов, я вижу, что имеют абсолютно зверские URL.

11
ответ дан 4 December 2019 в 07:48
поделиться

Одним преимуществом использования Фронтального контроллера является своя тестируемость. при использовании TDD, намного легче протестировать контроллер, чем это должно запросить много различных веб-сайтов.

Добавленный позже: Tom: причина Thea я имею в виду это, является более тестируемой, то, потому что Вы обычно реализуете webhandlers как страницы сервера, а не класс. и затем можно сделать много tetst непосредственно на классах.

1
ответ дан 4 December 2019 в 07:48
поделиться

Перефразирование статьи Wikipedia о Фронтальном контроллере:

В предложении - Вы используете его для предотвращения дублирования.

Немного более подробный:

Фронтальный контроллер "обеспечивает централизованную точку входа для обрабатывания запросов". Давайте предположим, что фронтальный контроллер для Вашего веб-приложения index.php.

Этот сценарий, index.php, справился бы со всеми задачами, которые характерны для целого приложения или платформы вокруг, как обработка сессии, кэширование, входная фильтрация. В зависимости от данного вводит его, затем инстанцировал бы дальнейших объектов и методов вызова для справлений с конкретной задачей.

Альтернатива фронтальному контроллеру была бы отдельными сценариями как login.php и order.php, который будет каждый включать код или объекты, которые характерны для всех задач. Это нуждалось бы в повторении кода включения в каждом сценарии, но могло бы также оставить больше комнаты для определенных потребностей сценария.

7
ответ дан 4 December 2019 в 07:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: