«

»

Feb 08

Print this Post

Divisão de Responsabilidade

Uma vez ouvi duas perguntas em sequência… “Para que, essa quantidade de functions? Por que, não fazer tudo direto no código da página ou se quer organizar não faz uma function só?”

Então! Complicado de explicar, já que você não tem noção doque significa Orientação a Objetos. Foi a forma mais delicada que consegui formular a minha resposta.

Respondendo, Divisão de Responsabilidade.

Quando vamos criar uma classe, temos que ter em mente, que a classe é responsável para fazer alguma coisa dentro do contexto de sua existência.
Não podemos ter uma classe InjecaoCombustivel() e usar-mos ela para acender um farol, por exemplo:

class InjecaoCombustivel {
// método construtor
function InjecaoCombustivel() {
// implementação
}
function Boolean enviarCombustivel() {
// implementação
}
function Boolean ligarFarol() {
// implementação
}
}

Está errado, não é responsabilidade da parte de Injeção Eletrônica do carro, acender farol, até porque, misturar energia elétrica com combustivel inflamável, não é a maneira mais certa de fazer as coisas… vai dar problema.

Agora, isso não quer dizer que uma classe Carro() não precise de injeção de combustivel … precisa. Para isso veja este outro artigo abaixo falando de inversão de controles.

Inversão de Controles

Então, ao criar uma classe, pense, planeje, e se possível nomeie a mesma auto-explicando seu objetivo. Lembrando que não é para criar uma classe: LigarCarro();

Seguindo esses conceitos, você consegue construir softwares funcionais usando técnicas como CleanCode de forma fluente.

Veja mais sobre arquitetura de softwares e padrões nos links abaixo:

por Paulo Teixeira

Post original

Permanent link to this article: https://ensina.me/coldfusion/divisao-de-responsabilidade/

Leave a Reply