Back | Contents

Java Coding Example: Design

CheckBookMain -- does min amount.  Starts the controller
and does nothing else.  This could be morifed into a app
that does checking accounts or loans or whatever
for now just starts the "check" area

CheckBookController -- does all of interfacing with the user
asks to create books & title them.
handles each book & each check in each one
it will  A.  create or delete checkbooks
            1. title each checkbook; (see Check class)
            2. offer a printout of each one
            3. (optional) save & read stored books
         B.  manage a particular book
            1. add or delete checks
            1. use CheckBook to add or delete (void) checks
            2. (optional) modify checks; recreate internally
            3. deposit or withdraw (see B-1)
            4. calculate new balances (see B-1)
            5. pick check nums on creation (pass to CheckBook)
            1. give a reister of all transactions using
               OutputBox for each Book & CheckBook register
            1. allow user to quit
            2. when user quits, dump a bank statement
               for all the books to a file
               Dump the outputBox objects

Margin Notes:
check num
write check

Quit - dump Output Boxes
use savetoFile

CheckBook -- has methods to add checks, void checks,
    make withdraw and deposits.  It also calculates new
    balances based on transactions.  Also have an array
    with all transactions recorded (like a register).  Voided checks are
    marked, it should be a structure? (maybe new object?)
    Creates and destories registers;  Searches for checks?

Check -- holds info on chekcs, creates new ones
     check number - define on creation or defaulted by CheckBook
     Owners Name on check (moved to CheckBook)
     Written Amount
     Numerical Amount
     Name of Bank (moved to CheckBook)
     Memo, sig not important


    holds info on a checkbook; it's index will match
    CheckBook's index array.
    Controlled by CheckBook.  CheckBook creates one when made,
      and removes it when destroyed

    NOTES:  Checks can get out of order, maybe resort them
      or allow user to sort by check num or date or amount?

Rodney Beede � 1999-2000 | Top