refatoração do código ECDU01-ECDU07 + arquitetura

Refatoração do código.

Adição de classes abstratas para uma melhor reutilização de código.
Desacoplamento de classes através de injeção de dependências e divisão
de grandes escopos através de métodos fracionados.
Integração do designer pattern Abstract Factory + Builder