Loading presentation...
Prezi is an interactive zooming presentation

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Algorama - Produtividade com DDD

Layers
by

Rodrigo Sendin

on 6 October 2016

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Algorama - Produtividade com DDD

Desenvolvedor e Consultor na Algorama

Artigos publicados na .NET Magazine e
Web Mobile (DevMedia)

rodrigo@algorama.com.br
twitter: @rodrigosendin
www.algorama.com.br
Rodrigo Sendin



DDD
Produtividade (.net)

O Livro
Outros Livros
http://bit.ly/2aIxlsE
O Mapa
A grande bola de lama
WTF!!
OOP
Domínio
SubDomínio
Bounded Context
Bounded
Context
"Pense no Subdomínio como o chão de uma Sala, enquanto o Bounded Context é o tapete que cobre parte desse chão"

Eric Evans
core
domain
shared
kernel
Arquitetura em Camadas
(Representação Original)
Arquitetura em Camadas
Entidade
Entidade
Entidade
Entidade
Objeto de Valor
{INTERFACE}
IMPLEMENTAÇÃO
API REST
DDD está aqui!
Queremos chegar aqui!
Capacitação
http://bit.ly/2aIxlsE
Orientação a Objetos
Linguagem e Plataforma
Injeção de Dependência
ORM
DDD (Domain Driven Design)
Tecnologias
Naked Objects
Princípio que sugere que camadas de Apresentação e Infra estrutura devam ser "geradas" a partir dos objetos de Domínio.
Scaffolding
Geração (ou automação) de Código através de templates

Gere tudo aquilo que possa ser padronizado
Defina o
seu Padrão!
Defina a sua arquitetura

É a sua implementação do DDD

SHARED KERNEL!!!

Crie um Projeto Modelo

(o subdomínio que servirá de padrão
para todos os outros)
(com .net framework... se conseguir...)
Não caia no precipício!
Desenvolvedor e Consultor na Algorama

Artigos publicados na .NET Magazine e
Web Mobile (DevMedia)

rodrigo@algorama.com.br
twitter: @rodrigosendin
www.algorama.com.br
Rodrigo Sendin
Rodrigo Sendin
Desenvolvedor na Algorama

Consultor de DDD com .NET Framework
rodrigo@algorama.com.br
www.algorama.com.br
twitter: @rodrigosendin
http://rodrigosendin.blogspot.com.br/
Artigos
.NET Magazine e WebMobile (DevMedia)
Desenvolvedor e Consultor na Algorama

Artigos publicados na .NET Magazine e
Web Mobile (DevMedia)

rodrigo@algorama.com.br
twitter: @rodrigosendin
www.algorama.com.br
Rodrigo Sendin
Fabio Navarro
Mestrado e Professor universitário na Univem Marília e Fatec Garça
Desenvolvedor/Consultor SOLID/DDD na
SELECT Ti.
navarro.fabio@gmail.com
twitter: @fpnav

Artigos na IEEE e .Net Magazine (DevMedia)
“Muitos objetos não são definidos pelos seus atributos, mas por uma linha de continuidade e identidade”

Eric Evans
"Mede, quantifica, ou descreve algum elemento no domínio"
“Uma agregação é um conjunto de objetos associados, que tratamos como uma unidade para propósitos de modificação de dados”

Eric Evans
Comportamento que não cabe nas Entidades e Objetos de Valor
Construtor de Entidades Complexas
Acesso e Persistência de Dados
O DOMÍNIO NÃO PODE DEPENDER DE NENHUMA IMPLEMENTAÇÃO EXTERNA!!
Principal Regra do DDD!
NÃO quebre essa REGRA!!
Tese de Doutorado de Richard Pawson
http://bit.ly/2bsM27E
Livros
Framework para Java e .NET
http://www.nakedobjects.org/
Não é preciso utilizar o Framework Naked Objects

Mas podemos aproveitar a idéia para criar elementos Genéricos para a nossa arquitetura, como:

Repositórios, Controllers, Serviços de Validação, Auditoria, etc..
YEOMAN
yeoman.io
Ferramenta de Scaffolding baseada em templates escritos em JavaScript
Você pode criar seus próprios templates (baseado no padrão pré-definido)

Simplifica e agiliza a criação de novos projetos (vazios)
Algorama.Kite
algorama.com.br/kite
Ferramenta para modelagem e construção da linguagem ubíqua do seu domínio






Todo código gerado respeita os padrões
pré-definidos pela equipe
Desenvolvedor e Consultor na Algorama

Artigos publicados na .NET Magazine e
Web Mobile (DevMedia)

rodrigo@algorama.com.br
twitter: @rodrigosendin
www.algorama.com.br
Rodrigo Sendin
Rodrigo Sendin
rodrigo@algorama.com.br
www.algorama.com.br
twitter: @rodrigosendin
http://rodrigosendin.blogspot.com.br/
bit.ly/algoramaddd

A grande bola de lama
A grande bola de lama
Microsoft
Unity
Full transcript