16
Driven Design

Responsibility Driven Design

  • Upload
    ilegra

  • View
    467

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Responsibility Driven Design

Driven Design

Page 2: Responsibility Driven Design

Rebecca Wirfs-Brock

Page 3: Responsibility Driven Design

papéis + responsabilidades

+

Responsibility Driven Design

Page 4: Responsibility Driven Design

O.O. Sobre o ponto de vista da Responsabilidade

Saber ….Fazer….

Page 5: Responsibility Driven Design

• 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

Page 6: Responsibility Driven Design

• Maximize Abstraction - conhecer, fazer, e decisão

• Distribute Behavior - delegue o controle (Objects Smats)

• Preserve Flexibility – facilmente alterados

Page 7: Responsibility Driven Design

• 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

Page 8: Responsibility Driven Design

• Que ações o objeto é responsável?

• Que informação esse objeto compartilha?

Page 9: Responsibility Driven Design
Page 10: Responsibility Driven Design
Page 11: Responsibility Driven Design

CRC CardsClass Responsibility Colaborations

Page 12: Responsibility Driven Design

CRC Cards

Page 13: Responsibility Driven Design

General Responsibility Assignment Software Principles

Page 14: Responsibility Driven Design
Page 15: Responsibility Driven Design

“Understanding responsibilities is key to good object-oriented design”

- Martin Fowler

Page 16: Responsibility Driven Design