20.02.2013 Views

Connie's Convenience Store - About Peter Coad

Connie's Convenience Store - About Peter Coad

Connie's Convenience Store - About Peter Coad

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!