Algumas boas práticas que está nessa refatoração.
Segundo a PEP8, devemos importar modulos por linha.
A view é sempre algo que recebe uma request e responde uma responde. Nada mais. Responsável por lidar com a interface do usuário e a resposta HTTP. Ela deve ser simples e concisa, e não deve se preocupar com as regras de negócio ou a manipulação do banco de dados.
As regras de negócio, ou como deve ser feita a operação, devem estar no service. Service conhecer todos os módulos que interagem com o banco de dados. Apenas ele conhecer os módulos evita problemas com importação circular. Portanto, o salvar turma interagem com alunos e ciclos. E isso tudo é o service que conhece.
Já as operações específicas, que manipulam o banco, esses sim ficam dentro dos seus respectivos gerenciadores.
Aqui estamos realizando uma divisão de responsabilidade. Essa é uma abordagem comum para o desenvolvimento de aplicações web. Padrão MVC, ou Model-View-Controller
Algumas boas práticas que está nessa refatoração. Segundo a PEP8, devemos importar modulos por linha.
A view é sempre algo que recebe uma request e responde uma responde. Nada mais. Responsável por lidar com a interface do usuário e a resposta HTTP. Ela deve ser simples e concisa, e não deve se preocupar com as regras de negócio ou a manipulação do banco de dados.
As regras de negócio, ou como deve ser feita a operação, devem estar no service. Service conhecer todos os módulos que interagem com o banco de dados. Apenas ele conhecer os módulos evita problemas com importação circular. Portanto, o salvar turma interagem com alunos e ciclos. E isso tudo é o service que conhece.
Já as operações específicas, que manipulam o banco, esses sim ficam dentro dos seus respectivos gerenciadores.
Aqui estamos realizando uma divisão de responsabilidade. Essa é uma abordagem comum para o desenvolvimento de aplicações web. Padrão MVC, ou Model-View-Controller