<div dir="ltr">Joe,<div><br></div><div>My suggestion is to use fewer object classes and more methods. Play with it until you know what you are doing, then objects, instance variables, and methods come more naturally without as much need for prior design.  You can refactor or reorganize fairly quickly once you master the application and tools available. Sometimes it is necessary to write new versions of an application as you learn more about what you need.  </div><div><br></div><div>Included in this advice is a suggestion to keep working your software over and over in Smalltalk and not abstract it on paper too much which can waste time. A design embedded in software is a lot closer to working than a design on paper (or CRC cards).  But occasionally a few notes on paper can help when going from one version to a new one.</div><div><br></div><div>Kirk</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Apr 28, 2016 at 3:15 PM, Joseph Alotta <span dir="ltr">&lt;<a href="mailto:joseph.alotta@gmail.com" target="_blank">joseph.alotta@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Greetings,<br>
<br>
I am writing a program to consolidate all my personal finances for tax time next year.  (This is not a school project.)<br>
<br>
There are transaction files from several banks and credit card companies.  Each has a similar format, CSV, but they vary in many ways, order of items, extra notes, pipe delimited or tabs, etc.  I want to read them and load them into a collection of transaction objects.<br>
<br>
1.  Should I have a FileReader object?<br>
<br>
2.  Should it have subclasses like FileReaderAmericanExpress, FileReaderJPMorgan ?<br>
<br>
3.  Or should it have different methods like loadAmericanExpresFile, loadJPMorganFile ?<br>
<br>
4.  Is a Collection of Transaction objects, the structure that you would load the files into?<br>
<br>
The rest of the project would be to do data checking on the files, to make sure there are no duplicates or missing dates.  Then write reports that I can give to my accountant.<br>
<br>
I would appreciate some design help?<br>
<br>
Sincerely,<br>
<br>
Joe._______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@lists.squeakfoundation.org">Beginners@lists.squeakfoundation.org</a><br>
<a href="http://lists.squeakfoundation.org/mailman/listinfo/beginners" rel="noreferrer" target="_blank">http://lists.squeakfoundation.org/mailman/listinfo/beginners</a><br>
</blockquote></div><br></div>