Princípio de Projeto e Design Patterns
Patterns
1. Princípios de Projeto.
Princípios de Projeto é um conjunto de boas práticas que orientam no desenvolvimento de Software. Trazem-nos agilidade no desenvolvimento, estabilização, implantação e manutenção dos projetos.
O princípio do aberto-fechado - OCP
Uma classe deve ser alterada sem que seu código seja alterado, um exemplo disso são os métodos de sobrecarga.
O princípio da substituição de Liskov - LSP
A idéia principal deste princípio é de contrato, uma classe derivada não pode
“trazer problemas” para a classe Base.Por exemplo, se o método da classe base retorna um booleano a classe derivada não pode utilizar este método para retornar algo diferente, como uma String.
O princípio da inversão de dependência - DIP
O foco deste princípio é de que uma classe de nível mais alto não pode depender de classes de nível mais baixo. Isso faz com que seja necessário identificar abstrações e inverter as dependências, tornando o projeto mais adaptável e não alterando o processo.
O princípio da segregação de interface - ISP
O Princípio da Segregação de Interface trata da coesão de interfaces e diz que clientes não devem ser forçados a depender de métodos que não usam.
Podemos dizer que devemos criar interfaces específicas, mesmo que seja necessário criar várias e não uma única interface grande com muitas funcionalidades. O princípio da responsabilidade - SRP
A ideia deste princípio é a de coesão, ou seja, uma classe só deve fazer uma única “coisa”, e que deve apenas uma razão para ela ser alterada.
O princípio da equivalência do reuso e liberação - REP
A unidade de reuso é a unidade da versão, ou seja, a unidade é o pacote e esta oderá ser rastreada sua versão. Um código não deve ser reutilizado copiando e clonado em outra classe, na verdade nem a classe pode ser
reutilizada desta forma. O REP nos apresenta os primeiros indícios de dividir o projeto em componentes.
O