14. roles
• to be useful objects need to play roles
• set of related responsibilities
15. role stereotypes
• to help focus on responsibilities
• “controller” “coordinator” “service provider”
“bridge” “manager” “money handler”
16.
17. collaborations
• don’t exist in isolation
• collaborates with others
• fulfils some responsibilities by module(a by me)
• works with other modules for others (b by X)
18.
19. Responsibility Driven Design
• play specific roles in the system architecture.
• is responsible for specific portions of the work.
• Objects collaborate in clearly-defined ways, to
fulfil the larger goals.
• in a smoothly-running community of objects.
26. Don’t Repeat yourself
• “Every piece of knowledge must have a single,
unambiguous, authoritative representation within a
system.”
• avoid creating duplicate clients and definitions
for entities in services
27. law of parsimony
• prefer designs with fewer assumptions
• simpler,elegant