como funciona Aprenda Design Patterns com SOLID