Caro amigo parabéns pelo conteúdo, é sempre bom pensar em construção de projetos onde o pensamento nativo em cada um de nós é um pensamento estruturado e top down(de alta para baixa abstração de código) e que com isso pode-se resolver problemas estruturados de forma mais coesa.
Uma dica que gostaria de deixar para o estudo é começar por releituras que simplificam a escrita, uma delas que pode ser enriquecedora e se mesclar no seu artigo está(ão) no https://refactoring.guru/design-patterns
Além de usar mais ilustrações.
parabéns mais uma vez pelo artigo.