Software Best Practices

Voices on Software Development Best Practices
Welcome to Software Best Practices Sign in | Help
in Search

When am I ready to start programming with Object Oriented Concepts?

Last post 11-03-2008 12:02 PM by ericr. 1 replies.
Page 1 of 1 (2 items)
Sort Posts: Previous Next
  • 11-02-2008 8:03 AM

    When am I ready to start programming with Object Oriented Concepts?

    I learned programming in the late 90s using VB6. I took a C++ class too but as is typical of many classes at the time, OO concepts were ignored. I have a basic understanding of Encapsulation, Polymorphism and Inheritance. Yet i don't know how to take an idea and translate it into a class/object and I don't know how to make objects work together effectively. I'm currently reading The OO Thought Process by Weisfeld (2nd Ed) and i also have  a big book, Head First Design Patterns. I've read only a little of the first book and none of the second so far.

    I really would like a book that helps to look at projects and break them down into classes. Of course there are numerous approaches. Many books just don't take the time to show different approaches to breaking a project down into different classes. I say this because, the way a person veiws a project may not be the same as another person. So if the author sees this VAGUE senario one way and the reader sees it differently, without alternatives or suggestions, the reader is lost as to why he thought this instead of that. I'm just tired of reading books all the way through and then finding that i still don't know how to design an OO project from scratch. 

    I have a project that i developed in VB6. It is a testing application. So it is a poject that i do understand and know where I'm taking it because it already exists and i just want to start drafting the classes and concepts needed to RE-create the application. From there i want to create a desktop version and a web based version as a tool to learning different programming languages, such as VB.NET, ASP.NET, C#, etc. I assume that the basic OO concepts can be used regardless of the language or medium--although nothing is perfect.

    Is this going to be a huge uphill battle?  Am I going to have to learn a ton of patterns and system design approaches just to produce a good OO app from scratch?  As i learn i would like to also learn some UML which i have read books on too thinking they will help me in this OO learning curve but was just another dead end. I don't wnat to learn UML at the expense of learning OO, if it will take me months to learn UML just to use it in my OO development.

    My goals seems to be as follows:

    - Learn OO concepts 

    - Re-develop my procedural VB6 using OO concepts

    - Utilize some UML and design patterns along the way

    I believe that doing this will give me a good jump start in the right direction. But I'm fearing that i'm running after something unrealistic and that the learning curve will be much larger than i think. So that is my fear. What i really believe is that I'm just steps away from my goal and all i need is a few pointers.

    Thanks!

     

     

  • 11-03-2008 12:02 PM In reply to

    • ericr
    • Top 50 Contributor
    • Joined on 02-12-2008
    • Posts 6
    • CxStaff

    Re: When am I ready to start programming with Object Oriented Concepts?

    If you're having difficulty learning OO from books, then I'd suggest finding a peer that you respect to mentor you. Pair up with this person to port your VB6 project.

    You could also post some specific questions to this forum. Take an example from a book that you found confusing or that you didn't give you an OO "aha" moment, and post it here. I'd be happy to walk you through my thought process.

    I don't know the context of the port you're planning, but if it is a personal project (i.e. not constrained by budget, schedule, or a customer's expectations), then just jump in and try stuff out. Accept the fact that you may need to re-implement the project several times before you feel comfortable about your OO design. You don't have to do things perfectly the first time.

    Is it going to be a huge uphill battle? Well, that sounds extreme to me. However, you must spend some energy to learn something new. You'll still be discovering OO insights 5 years from now. There is no book I could recommend that will somehow magically make you an OO expert. In fact, I hesitate to recommend any book at this point, because that just might add more noise and frustration. You have two books (neither of which have I read, so I can't comment on their quality), so read those, and work through their examples. What were the other books that you read all the way through but that didn't help you do OO design? If I knew what you've already tried, I might be in a better position to make recommendations.

    Again, feel free to post specific questions here. Being able to have a dialog may be more useful than reading books.

    Eric Rimbey
Page 1 of 1 (2 items)
Seminars           www.Construx.com           Consulting