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.
O Object Calisthenics é um conjunto de boas práticas no design do código discutidas em várias comunidades nos últimos anos que buscam deixar o seu código bom em 4 pontos: manutenção, clareza, testabilidade e compreensão.
Palestra explicando os conceitos chaves da Programação Orientada a Objetos e mostrando como apena estes conhecimentos não bastam.
São abordados Design Patterns mostrando como utilizar OO para obter um maior benefício.
O Object Calisthenics é um conjunto de boas práticas no design do código discutidas em várias comunidades nos últimos anos que buscam deixar o seu código bom em 4 pontos: manutenção, clareza, testabilidade e compreensão.
Palestra explicando os conceitos chaves da Programação Orientada a Objetos e mostrando como apena estes conhecimentos não bastam.
São abordados Design Patterns mostrando como utilizar OO para obter um maior benefício.
Proposta: Métricas e Heurísticas para Detecção de Problemas em Aplicações WebMaurício Aniche
Proposta de pesquisa apresentada no encontro do NAPSoL em São Carlos, 2014: Proposta: Métricas e Heurísticas para Detecção de Problemas em Aplicações Web
Palestra apresentada no meetup do DockerSP. https://www.meetup.com/Docker-Sao-Paulo/events/234372170/
Nessa palestra veremos como montar um processo de build de uma aplicação conteinerizadas, em conjunto com o Docker Hub. Veremos ainda quais são os artefatos e como trabalhar com a promoção entre ambientes. Ao final, montaremos o processo de continuous deployment, opcionalmente colocando na mão do responsável pelo negócio a tomada de decisão da publicação.
ASP.NET Identity - O Novo componente de Membership do ASP.NETEduardo Pires
O ASP.NET Identity é o novo componente de Membership da Microsoft que já está na versão 2.1, conheça todos seus recursos e saiba aproveitar das funcionalidades já existentes.
Nesta palestra, Ismael Soares fala a equipe Bluesoft sobre o Pensamento Cartesiano Mecanicista e faz um contra-ponto com as idéias do Pensamento Sistêmico
Nesta palestra Ismael Soares fala de técnicas para dar e receber feedbacks. Mostra a importância de ter uma cultura de feedbacks em times auto-organizaveis.
Proposta: Métricas e Heurísticas para Detecção de Problemas em Aplicações WebMaurício Aniche
Proposta de pesquisa apresentada no encontro do NAPSoL em São Carlos, 2014: Proposta: Métricas e Heurísticas para Detecção de Problemas em Aplicações Web
Palestra apresentada no meetup do DockerSP. https://www.meetup.com/Docker-Sao-Paulo/events/234372170/
Nessa palestra veremos como montar um processo de build de uma aplicação conteinerizadas, em conjunto com o Docker Hub. Veremos ainda quais são os artefatos e como trabalhar com a promoção entre ambientes. Ao final, montaremos o processo de continuous deployment, opcionalmente colocando na mão do responsável pelo negócio a tomada de decisão da publicação.
ASP.NET Identity - O Novo componente de Membership do ASP.NETEduardo Pires
O ASP.NET Identity é o novo componente de Membership da Microsoft que já está na versão 2.1, conheça todos seus recursos e saiba aproveitar das funcionalidades já existentes.
Nesta palestra, Ismael Soares fala a equipe Bluesoft sobre o Pensamento Cartesiano Mecanicista e faz um contra-ponto com as idéias do Pensamento Sistêmico
Nesta palestra Ismael Soares fala de técnicas para dar e receber feedbacks. Mostra a importância de ter uma cultura de feedbacks em times auto-organizaveis.
Depois de falar da Curva da Mudança de Kubler-Ross, Ismael Soares fala sobre como diminuir o impacto da mudança nas empresas através dos 8 passos de John Kotter
Como o ser humano reage com a mudança? A mudança é algo linear? Respondo estas e outras perguntas nesta apresentação a equipe da Bluesoft. Veja o que a morte e o processo de morrer tem haver com sua vida.
This presentation Ismael Soares talk about LoD principle.
The Law of Demeter (LoD) or principle of least knowledge is a design guideline for developing software.
Quanto vale a informação? Com o avanço tecnológico, esta pergunta ganhou um lugar importante no cenário de negócios corporativos atual. Por este motivo, apenas ter as informações armazenados numa base de dados não é suficiente. É preciso garantir qualidade.
Ismael dá algumas orientações (estratégias) para Refatorar o Banco de dados de forma eficiente.
Neste artigo veremos como evoluir um esquema de banco de dados de forma segura, iterativa e incremental. Em seguida, mostraremos alguns exemplos de casos comuns aplicando as técnicas de refactoring de banco de dados.
7. S ingle responsibility Principle
O pen/Closed
L iskov Substitution Principle
I nterface Segregation
D ependency Inversion Principle
domingo, 9 de setembro de 12
8. 1
Single responsability Principle
domingo, 9 de setembro de 12
9. Principle
Uma Classe deve possuir apenas um motivo
para ser alterada, ou seja, possuir apenas uma
responsabilidade.
domingo, 9 de setembro de 12
10. O que faz esta classe?
domingo, 9 de setembro de 12
11. Gera Frete e Ajusta o Contador e Obtem Nota e...
domingo, 9 de setembro de 12
12. Devemos separar as funcionalidades em
classes distintas.
public class GeradorDeNotaFiscalDeFrete {}
public class AjustadorDeContadorDeNumeracaoDeNotaFiscal {}
public class ConsultaDeNotaFiscalService {}
...
domingo, 9 de setembro de 12
13. Porque quando você fizer uma alteração, vai
procurar a classe responsável.
domingo, 9 de setembro de 12
26. 3
Liskov Substitution Principle
domingo, 9 de setembro de 12
27. Principle
"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)."
domingo, 9 de setembro de 12
28. Agora Lascô
de vez!
domingo, 9 de setembro de 12
29. Deve ser possível substituir uma classe base por
uma classe derivada em qualquer ponto do código
domingo, 9 de setembro de 12
30. Uffa!
Agora entendi...
domingo, 9 de setembro de 12
50. References
http://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