SlideShare a Scribd company logo
1 of 16
Download to read offline
Responsibility Driven Design
Rebecca Wirfs-Brock
Responsibility Driven Design

+

papéis + responsabilidades
Saber ….
Fazer….

O.O. Sobre o ponto de vista da Responsabilidade
•
•
•
•
•
•
•

objetos são mais do que pacotes , lógicas , dados são:
prestadores de serviços
detentores de informação
estruturadores
Coordenadores
Controladores
interfacers para o mundo exterior
• Maximize Abstraction - conhecer, fazer, e
decisão
• Distribute Behavior - delegue o controle
(Objects Smats)
• Preserve Flexibility – facilmente alterados
• uma aplicação = objetos interagindo
• um objeto = implementar funções

• um papel = responsabilidades
• uma responsabilidade = realiza uma tarefa
• uma colaboração = interação de objetos ou papéis
• um contrato = termos de uma colaboração
• Que ações o objeto é responsável?
• Que informação esse objeto compartilha?
Responsibility Driven Design
Responsibility Driven Design
CRC Cards
Class Responsibility Colaborations
CRC Cards
General Responsibility
Assignment Software Principles
Responsibility Driven Design
“Understanding responsibilities is
key to good object-oriented design”
- Martin Fowler
Responsibility Driven Design

More Related Content

More from Rafael Salerno de Oliveira (20)

Docker hub
Docker hubDocker hub
Docker hub
 
Docker cloud
Docker cloudDocker cloud
Docker cloud
 
Front end architecture
Front end architectureFront end architecture
Front end architecture
 
Domain driven design com functional programing(f#)
Domain driven design com functional programing(f#)Domain driven design com functional programing(f#)
Domain driven design com functional programing(f#)
 
Virtual box
Virtual boxVirtual box
Virtual box
 
Serf
SerfSerf
Serf
 
Vagrant
VagrantVagrant
Vagrant
 
V8 Google
V8 GoogleV8 Google
V8 Google
 
Thinking in systems
Thinking in systemsThinking in systems
Thinking in systems
 
Design pattern for mobile Android IOS
Design pattern for mobile Android IOSDesign pattern for mobile Android IOS
Design pattern for mobile Android IOS
 
Batoo jpa
Batoo jpaBatoo jpa
Batoo jpa
 
Hammock Driven Development
Hammock Driven DevelopmentHammock Driven Development
Hammock Driven Development
 
Service Design Patterns - Study Case
Service Design Patterns - Study Case  Service Design Patterns - Study Case
Service Design Patterns - Study Case
 
Hammock Driven Design
Hammock Driven DesignHammock Driven Design
Hammock Driven Design
 
Monads functional group
Monads   functional groupMonads   functional group
Monads functional group
 
Funcional
FuncionalFuncional
Funcional
 
Mongo
MongoMongo
Mongo
 
Solid
SolidSolid
Solid
 
Design smells
Design smellsDesign smells
Design smells
 
Service Design Pattern
Service Design PatternService Design Pattern
Service Design Pattern
 

Responsibility Driven Design