On Nov 17, 12:29 am, thomasJamo <[EMAIL PROTECTED]> wrote:
> Hi,
> I'm very new to programming and I'm looking for a website or other
> resource that I might use to help me with application design.  I
> understand how to program, but I struggle with making decisions about
> which classes to create and which classes should do what.  I know
> there is never any quick or easy answer to those problems, but I
> thought somebody could point me in the right direction.
>
> thanks in advance for any help!
>
> thomasJamo

I never really understood the power of object oriented programming
until I read two books on Design Patterns.

Head First Design Patterns is a creatively written book with Java as
the language for sample code.  If you know C# you'll be able to read
those example no problem.
http://oreilly.com/catalog/9780596007126/

The origin of Design Patterns book with a more academic and rigorous
approach is the Gang of Four Book, Design Patterns: Elements of
Reusable Object-Oriented Software. Sample are in C++ and Smalltalk.
http://www.amazon.com/Design-Patterns-Object-Oriented-Addison-Wesley-Professional/dp/0201633612

These two books gave me the insight into the power of object oriented
programming.  But the only real thing to make you better at it is
programming applications of greater than 10,000 lines of code, at
least that's how it was for me.

Also note you'll always struggle with question about what classes to
make. I think it's a very good sign that you struggle with it, because
it means you are really thinking about programming. Just don't spend
too much time thinking about it sometimes the only way to see how to
design something correctly is to program something functioning or semi-
functioning and then revise it. Also be aware of what you are
programming is it something that's going to be around for more than 2
or 3 years that changed be revised easily because it's sitting on
people desktops or is it some code that adds special effects to a web
page that will be there at max 1 year that can be changed in a day?
Which one do you think you should take time designing?

Reply via email to