Connie's Convenience Store - About Peter Coad
Connie's Convenience Store - About Peter Coad
Connie's Convenience Store - About Peter Coad
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Applying Patterns: Establish Problem-Domain Responsibilities Connie’s <strong>Convenience</strong> <strong>Store</strong> 55<br />
Establish responsibilities: “who I know.”<br />
Who does a session know?<br />
A session knows its:<br />
– register<br />
– cashier.<br />
(And yes, each register and cashier knows about its sessions.)<br />
Establish responsibilities: “what I do.”<br />
What does a session do?<br />
A session is a collection of its sales (the sales made during the session). So it can<br />
provide these services:<br />
– how much (money collected) over interval<br />
– how many (sales) over interval.<br />
Add session responsibilities to your object model (Figure 1–36):<br />
startDate<br />
startTime<br />
endDate<br />
endTime<br />
Session<br />
howManyOverInterval<br />
howMuchOverInterval<br />
1 n<br />
1 n<br />
Register<br />
Cashier<br />
Figure 1–36: Session: “what I know; who I know; what I do.”<br />
APPLYING PATTERNS: ESTABLISH PROBLEM-DOMAIN RESPONSIBILITIES<br />
At this point, you’ve established a number of responsibilities for each PD object, spanning<br />
“what I know, who I know, and what I do.”<br />
Now consider patterns. A pattern includes stereotypical responsibilities for each<br />
object in the pattern. Check it out, with collection-worker.