View
825
Download
1
Category
Preview:
DESCRIPTION
Apresentação sobre os princípios SOLID que fiz no Agile Brazil 2012 em São Paulo. Tenha orgulho do seu código. Aprenda SOLID! Os princípios SOLID são cinco princípios básicos de programação e design orientados a objeto, introduzidos por Uncle Bob no início de 2000. Aplicados em conjunto, estes princípios o tornarão um desenvolvedor diferenciado, capaz de escrever um código extensível, coeso e de fácil manutenção.
Citation preview
SOLID são princípios básicos (boas práticas) da Programação Orientada a Objeto
domingo, 9 de setembro de 12
SOLID
ingle responsibility Principle
pen/Closed
iskov Substitution Principle
nterface Segregation
ependency Inversion Principle
domingo, 9 de setembro de 12
Uma Classe deve possuir apenas um motivo para ser alterada, ou seja, possuir apenas uma responsabilidade.
Principle
domingo, 9 de setembro de 12
Devemos separar as funcionalidades em classes distintas.
public class GeradorDeNotaFiscalDeFrete {}
public class AjustadorDeContadorDeNumeracaoDeNotaFiscal {}
public class ConsultaDeNotaFiscalService {}
...
domingo, 9 de setembro de 12
Porque quando você fizer uma alteração, vai procurar a classe responsável.
domingo, 9 de setembro de 12
Uma classe deve estar aberta para extensão, mas fechada para alteração
Principle
domingo, 9 de setembro de 12
"Se você pode invocar um método q() de uma classe T (base), deve poder também invocar o método q() de uma classe T'(derivada) que é derivada com herança de T (base)."
Principle
domingo, 9 de setembro de 12
Deve ser possível substituir uma classe base por uma classe derivada em qualquer ponto do código
domingo, 9 de setembro de 12
É melhor ter muitas interfaces específicasdo que ter uma interface genérica.
Principle
domingo, 9 de setembro de 12
Principle
Módulos de alto nível não devem depender de módulos de baixo nível, devem depender de abstrações.
domingo, 9 de setembro de 12
Abstrações não devem depender de detalhes, detalhes devem depender de abstrações.
domingo, 9 de setembro de 12
Referenceshttp://www.slideshare.net/fullscreen/andrefaria/solid-princpio-da-responsabilidade-nica/1
http://viniciusquaiato.com/blog/srp-single-responsibility-principle/
http://en.wikipedia.org/wiki/Single_responsibility_principle
http://www.macoratti.net/11/05/oop_opc1.htm
http://www.javacodegeeks.com/2011/11/solid-liskov-substitution-principle.html
http://www.oodesign.com/interface-segregation-principle.html
domingo, 9 de setembro de 12
Recommended