A Jornada de um desenvolvedor de Princípios SOLID em um mundo de micro-services

Post on 24-Dec-2014

143 views 1 download

description

Em um sistema desenvolvido através do paradigma orientado a objetos, existem diversos padrões e metodologias que devem ser adotadas para que o software produzido seja de fácil manutenção e possibilite sua extensão. E COMO PODEMOS FAZER QUANDO MINHAS CLASSES VIRAM MICRO-SERVIÇOS? Palestra TDC 2014 - Trilha Arquitetura e SOA

Transcript of A Jornada de um desenvolvedor de Princípios SOLID em um mundo de micro-services

A JORNADA DE UM DESENVOLVEDOR DE PRINCÍPIOS SOLID

@helmedeiros

- em um mundo de micro-serviços -

projeto ágil

maus cheiros

princípios

Se tiver sorte, você começa um projeto com uma ideia clara de como deseja que o sistema seja. Se tiver mais sorte ainda, a primeira versão reflete a imagem do projeto.

MONOLÍTICO?

MONOLÍTICO

CACHE

BANCO DE DADOS

class

class

class

class

classclass

class

class

GOD

MICRO-SERVIÇOS?

MONOLÍTICO

CACHE

BANCO DE DADOS micro-serviços

micro-serviços

micro-serviços

nossos problemas não desapareceram quando mudamos de paradigma, que tal pensarmos em como identificá-los e corrigirmos? Robert Martin

projeto ágil

maus cheiros

princípios

RIGIDEZ: É difícil de alterar o projeto.1

FRAGILIDADE: O projeto (design) é fácil de estragar.2

IMOBILIDADE: É difícil reutilizar o projeto.3

VISCOSIDADE: É difícil fazer a coisa certa.4

COMPLEXIDADE DESNECESSÁRIA: Projeto excessivo.5

REPETIÇÃO DESNECESSÁRIA: Abuso do mouse.6

OPACIDADE: Expressão desorganizada.7

projeto ágil

maus cheiros

princípios

SRP: Single Responsibility PrincipleS

OCP: Open close principleO

LSP: Liskov Substitution PrincipleL

ISP: Interface Segregation PrincipleI

DIP: Dependency Inversion PrincipleD

A JORNADA DE UM DESENVOLVEDOR DE PRINCÍPIOS SOLID

@helmedeiros

- em um mundo de micro-serviços -