No contexto dos padrões de projeto:

I. Oferecer uma interface simples para uma coleção de classes.

II. Desacoplar uma abstração de sua implementação para que ambas possam variar independentemente.

Correspondem respectivamente a