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.

28 Connie’s <strong>Convenience</strong> <strong>Store</strong> Applying Patterns: Select and Organize Problem-Domain Objects<br />

you keep track of start and end of employment, for each cashier object. Then one person<br />

object might know a number of cashier objects over time.<br />

However, if you don’t keep track of start and end dates, then an object connection<br />

constraint of “1” for person objects makes sense (Figure 1–17):<br />

Progress at this point<br />

Figure 1–17: person object knows one cashier object (and vice versa).<br />

You’ve selected objects, using strategies and patterns. Take a look at where you are<br />

(Figure 1–18):<br />

ProblemDomain<br />

Cash<br />

CashDrawer<br />

Cashier<br />

Charge<br />

Check<br />

Item<br />

Payment<br />

Person<br />

Register<br />

Sale<br />

SaleLineItem<br />

Session<br />

<strong>Store</strong><br />

TaxCategory<br />

NotThisTime<br />

BackRoomServer<br />

Customer<br />

HeadCashier<br />

Organization<br />

POSClient<br />

Shelf<br />

Session<br />

n 1<br />

Person Cashier<br />

1 n<br />

Sale<br />

1 n<br />

1-n<br />

1<br />

SaleLineItem<br />

1 1<br />

Person<br />

Cashier<br />

Figure 1–18: Progress at this point.<br />

1<br />

1<br />

1 n<br />

1<br />

n<br />

1<br />

<strong>Store</strong><br />

n<br />

n<br />

1<br />

n<br />

1<br />

Item TaxCategory<br />

Register CashDrawer<br />

Payment<br />

Cash Check<br />

Charge

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

Saved successfully!

Ooh no, something went wrong!