Connie's Convenience Store - About Peter Coad
Connie's Convenience Store - About Peter Coad
Connie's Convenience Store - About Peter Coad
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Applying Patterns: Establish Problem-Domain Responsibilities Connie’s <strong>Convenience</strong> <strong>Store</strong> 57<br />
– cashier (collection) . . . of its sessions<br />
how much (money collected) over time<br />
how many (sales) over time.<br />
What’s next?<br />
Transaction–transaction line item<br />
#6. “Transaction–Transaction Line Item” Pattern transaction patterns<br />
Transaction<br />
number<br />
date<br />
time<br />
status<br />
aboutMe<br />
howMany<br />
howMuch<br />
rankLineItems<br />
calcOverLineItems<br />
calcForMe<br />
1-n 1<br />
TransactionLineItem<br />
number<br />
date<br />
time<br />
status<br />
aboutMe<br />
calcForMe<br />
rateMe<br />
• Typical object interactions<br />
howManyOverInterval —> calcForMe calcOverLineItems —> calcForMe<br />
howMuchOverInterval —> calcForMe rankLineItems —> rateMe<br />
• Examples<br />
Transaction: agreement, assignment, authorization, contract, delivery, deposit,<br />
incident, inquiry, order, payment, problem, report, purchase, refund, registration,<br />
rental, reservation, sale, shift, shipment, subscription, time charge, title,<br />
withdrawal.<br />
Transaction–transaction line item: deposit–deposit line item; order–order line item;<br />
payment–payment line item; rental–rental line item; sale–sale line item;<br />
shipment–shipment line item; withdrawal–withdrawal line item.<br />
• Combinations<br />
participant-transaction; place-transaction; specific item–transaction;<br />
transaction–subsequent transaction; transaction line item–subsequent transaction<br />
line item; item–line item; specific item–line item.<br />
Consider what each transaction object could do, in collaboration with its transaction<br />
line items.<br />
Continuing, take a look at sale–sale line item:<br />
– sale (collection) . . . of its line items<br />
calculate subtotal<br />
– sale line item (worker)<br />
calculate subtotal.