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

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.

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

Saved successfully!

Ooh no, something went wrong!