Организация мудрая может выглядеть так, как и слои, и трубы и фильтры паттерны похожи (один компонент принимает ввод и передает результат другому), но функционально они не являются. Это архитектурные узоры.
Если пойти по определению :
Трубы и фильтры модели разделить большую задачу обработки в последовательность меньших независимых шагов обработки (фильтры), которые соединены каналами (трубы).
В слое Layer Pattern каждый слой взаимодействует со смежными слоями и отвечает за некоторую обработку своей собственной, передавая запросы на нижележащий слой и отвечая на запросы от слоя над ним.
Сравнение:
Труба и структура фильтра позволяет системе быть собрана из небольших программ, называемых фильтров тогда слоистую система, в которой различные слои системы заботиться о конкретной функции система.
Фильтр имеет вход и выход , тогда как каждый слой в многоуровневом архитектурном стиле представляет собой пакет программного обеспечения (или систем), который имеет четко определенный интерфейс и несколько хорошо известных зависимостей внутри приложения.
Фильтры собраны в цепочку, в которой каждый фильтр получает данные от предыдущего фильтра в цепи, обрабатывает данные и передает данные к следующему фильтру в цепочке , тогда как в слоистых системах поток данных может быть двунаправленной так что все запросы слоя выше выполнены с или без помощь слоев ниже него.
Заказ не имеет значения. напримервы можете аутентифицировать сообщение, а затем фильтровать содержимое сообщения, или сначала фильтровать содержимое, а затем выполнять аутентификацию , тогда как в порядке многоуровневой системы всегда одинаковы и не могут быть взаимозаменяемы.
Надеюсь, это поможет.
Я бы сказал, что существует огромная концептуальная разница. (1) Образцы слоев - это скорее создание стека. Например, возьмите типичный JEE, вы начинаете с уровня ресурсов, затем данные, бизнес заканчивается в презентации. (2) Труба и фильтр предназначены для обработки, преобразования и фильтрации данных шаг за шагом. Примером может служить канал сообщений. – Sivaramvt
Я отредактировал ваш заголовок. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –