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.
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