[Tutor] "Object designer" applications - are there any?
robert.sjoblom at gmail.com
Fri Aug 5 15:46:18 CEST 2011
> It struck me that if I write a "read in Sybase DDL and spit out Oracle DDL" routine and so forth, I'd get a lot of reuse out of it. However, I've not done much OOP at all and consequently, my object design skills are somewhat non-existent. Whilst I have a rough idea of what my properties my "table" object will have I was looking for something to help me design it - something which I can say "this is a table object, it has a name and multiple columns. Columns have a type, a width (which may be further comprised of scale and precision or just an integer depending on the column type) and a "nullable" flag.). Oh, and there may be multiple columns... so maybe a column should be an object too... etc.
> Anyone know if there are any such kinds of programs out there already (freeware please - I'll be doing this off my own back so funds are tight for commercial software). Failing that, does anyone use something for this kind of thing already, Visio maybe or a spreadsheet. Maybe just notepad or a post-it?
> Perhaps most people just design their objects on paper and let the code do the documentation for them... I don't know as I've never done this before.
> It doesn't strike me as being a complicated project at first glance - all it's doing is translating structured DDL into structured Oracle DDL, but I'd like to get my first principles correct so that I don't end up 3 weeks in and realise I've made a fundament design flaw ("Crap - I didn't think of anything to describe table indexes" or "Hmm - views.... is a "view" just another "table" or should I describe a view in the SQL it'll actually use, so it's just a piece of text.... and how does that translate to a materialized view" and so forth...) and have to re-do chunks... or maybe I do want to do that, to make sure I get my design nailed before a line of code is ground out.
> I'm open to suggestions on what useful tools are out there to make my learning experience easier, more pleasant and satisfying - if that involves the back of fag packets, so be it. :)
I'm typing this on a phone, so I'll keep it short. There are two great books that could be useful: "Head First Object-Oriented Analysis & Design" and "Python 3 Object Oriented Programming". Head First assumes knowledge of java but is useful for learning OO (though some keywords are different, most code is understandable if you know python), wjile Python 3 is very dry and technical, but really goes in-depth with OO programming and the philosophies behind it (the first chapter really helped me wrap my head around OO and inheritance and encapsulation and what have you). As for diagrams I believe UML is sufficient and there are resources abound online for that, and Visio can easily handle UML standards.
More information about the Tutor