thumb|Exemplo ilustrativo de uma arquitetura pipe-and-filter. Duto e filtro ou Pipe-And-Filter, em engenharia de software, é um estilo de arquitetura orientado a dados. É composto por uma cadeia de elementos de processamento dispostos de tal forma que a saída de cada elemento é a entrada do próximo, ou seja, os programas (chamados de filtros) processam as entradas recebidas e geram uma nova saída. Os filtros são conectados por meio de dutos que agem como buffers, armazenando a saída de um filtro enquanto ela não é lida pelo próximo filtro da sequência. Cada etapa do processamento é implementada como uma transformação, que pode ser executada sequencialmente ou em paralelo. Um exemplo clássico do padrão duto e filtro é o shell do Linux, onde existe uma coleção de pequenos programas que geralmente fazem uma única coisa e podem ser encadeados na mesma linha de comando.

História A arquitetura de duto e filtro surgiu no começo da década de 70 a partir do conceito de encadeamento desenvolvido por Douglas McIlroy, que liderava o Departamento de Pesquisa em Técnicas de Computação da Bell Labs.

Categoria:Engenharia de software Categoria:Arquitetura de software Categoria:Padrão de arquitetura (ciência da computação)