Existe alguma diferença entre nomear uma classe "Manipulador", "Gerente" ou "Controlador"? IE: PurchaseManager
, PurchaseHandler
, PurchaseController
.
Esses bastantes transmitem o mesmo significado ou há uma clara diferença entre eles?
Se não houver uma resposta independente da linguagem, considere Java como a linguagem.
Respostas:
Normalmente, um 'Controlador' é a interface entre um componente da interface do usuário e um modelo (por exemplo, Compra). Os controladores devem ser classes finas, fazendo pouco mais do que mapear eventos da interface do usuário para modelar funções.
Um "gerente" é um cheiro de código. A compra deve gerenciar a si própria ou pode ser gerenciada por uma classe proprietária, como Fornecedor ou Comprador.
Um 'Manipulador' é geralmente uma única função envolvida em um objeto. Isso é necessário ao programar em linguagens herdadas sem funções de primeira classe.
fonte
Embora minha resposta não seja baseada na definição, vejo algo rotulado como "Controlador" como uma implementação exclusiva versus um "Manipulador" como inclusivo . Eu esperaria ver apenas uma existência de um "PurchaseController" e várias versões possíveis de um "PurchaseHandler".
Eu acho que outro nome comum para Controller é "Broker" - o que altera levemente a perspectiva dele.
fonte