Para visualizar melhor a imagem, abra ela em uma nova aba e de zoom.
Classes Criadas
Para utilização do builder foi necessária a criação de cada builder(inner class) para cada tipo de sócio e de funcionário.
SocioJuniorBuilder
SocioSeniorBuilder
SocioEliteBuilder
AdvogadoBuilder
CozinheiroBuilder
JogadorBuilder
MedicoBuilder
MotoristaBuilder
PresidenteBuilder
PreparadorFisicoBuilder
TecnicoBuilder
Onde cada builder possui os atributos e métodos necessários para a criação de suas respectivas classes. Possibilitando melhor legibilidade de código e possibilitando diversas criações diferentes de Sócios e Funcionários.
Classes Modificadas
Para a utilização do Singleton foi necessário adicionar o atributo "Instance" na classe Sistema, assim como o método "getInstance()" para retornar a instancia singleton.