 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Vinzenz Feenstra Guest
|
Posted: Tue Oct 19, 2004 4:39 pm Post subject: Where can I find a good OOD with C++ in an Application |
|
|
Hi,
I was looking for a real good OOD in an application. I tried hard to
find something. I also read some books about OOD. Now I'm asking myself,
if it is possible to develop an application with a good OOD!?
It was my goal to become a very good C++-Programmer with good OOD skills.
But I think that isn't possible...
What are you guys thinking about that?
Yours sincerly
Vinzenz Feenstra
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
Mark Guest
|
Posted: Wed Oct 20, 2004 6:33 pm Post subject: Re: Where can I find a good OOD with C++ in an Application |
|
|
Hi,
If you want a nice example of OO design,
you can look at the eclipse framework.
It's written in Java, but all the concepts
are directly transferable to C++.
www.eclipse.org
Cheers,
Mark.
Vinzenz Feenstra wrote:
| Quote: | Hi,
I was looking for a real good OOD in an application. I tried hard to
find something. I also read some books about OOD. Now I'm asking myself,
if it is possible to develop an application with a good OOD!?
It was my goal to become a very good C++-Programmer with good OOD skills.
But I think that isn't possible...
What are you guys thinking about that?
|
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
kanze@gabi-soft.fr Guest
|
Posted: Wed Oct 20, 2004 9:36 pm Post subject: Re: Where can I find a good OOD with C++ in an Application |
|
|
Vinzenz Feenstra <evilissimo (AT) web (DOT) de> wrote
| Quote: | I was looking for a real good OOD in an application. I tried hard to
find something. I also read some books about OOD. Now I'm asking
myself, if it is possible to develop an application with a good OOD!?
It was my goal to become a very good C++-Programmer with good OOD skills.
But I think that isn't possible...
What are you guys thinking about that?
|
Two things.
First, neither C++ nor OO are goals. They are (or should be) tools, a
means to an end. The goal is a correct program which does something
useful.
Second, what exactly do you mean by "good"? I've never seen a perfect
program, one which couldn't be improved on. But I've seen a lot of good
programs -- programs which did what they were supposed to, did not do
what they weren't supposed to, and which were produced on time and in
budget. And I've worked in a couple of places where people knew enough
C++ and OOD to use them as very effective tools. Which to me means that
they were "good" programmers.
--
James Kanze GABI Software http://www.gabi-soft.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
Phlip Guest
|
Posted: Thu Oct 21, 2004 4:39 pm Post subject: Re: Where can I find a good OOD with C++ in an Application |
|
|
Vinzenz Feenstra wrote:
| Quote: | I was looking for a real good OOD in an application. I tried hard to
find something. I also read some books about OOD. Now I'm asking
myself,
if it is possible to develop an application with a good OOD!?
It was my goal to become a very good C++-Programmer with good OOD
skills.
|
Looking at today's books, you'd think the only language that permitted
OOD
was Java.
Try these:
* Design Patterns: elements of reusable object-oriented software by
Gamma,
Johnson, Helm, & Vlissides
* Domain Driven Design: Tackling Complexity in the Heart of Software by
Eric
Evans
* Refactoring: Improving the Design of Existing Code by Martin Fowler
* Refactoring to Patterns by Joshua Kerievsky
* Smalltalk Best Practice Patterns by Kent Beck
* Test Driven Development: By Example by Kent Beck
* The Art of Computer Programming by Knuth
* C++ GUI Programming with Qt 3 by Jasmin Blanchette & Mark Summerfield
/C++ GUI Programming with Qt 3/ is especially noteworthy because, unlike
most other GUI Toolkits, C++ does not wrap Qt. Its inventors
architected Qt
directly in C++, using only the finest OO idioms.
The TDD books are especially noteworthy because, as you start writing
programs larger than a couple modules, you will discover that most
programmers spend most of their time debugging. The solution to this
connundrum is so simple it shouldn't need a book, but our industry has
a lot
of "antipatterns" to overcome. The solution is to write tests for every
kind
of behavior you need, to only add code when you can get a test to fail,
and
to use Undo if a test fails unexpectedly (and you don't feel like
applying a
light amount of debugging). Replacing our advanced interactive debuggers
with an Undo button helps code's behavior never depart from a known
state.
Prevention is better than a cure.
The Refactoring books are significant because, no matter how smart you
are,
you will always write code whose design could be improved after you
read it.
You could fight this effect, by planning on paper for a long time, or
you
can leverage it. Refactoring fits TDD like a glove.
Smalltalk (and Python & Ruby) is a strongly typed dynamic language. C++
is
an almost-strongly typed static language that introduces generics to
cover
some dynamic typing abilities. Curiously, the higher level your code,
the
more dynamic typing you need. Dynamic typing means that foo.bar() will
compile and execute no matter what type 'foo' is, so long as it has a
method
'bar()'. This works as if all objects inherited a common interface,
Object,
that magically declared every possible method.
Curiously, the big software vendors keep pushing statically typed
languages,
Java & C#, while high-level code, such as GUI code or business-logic
code,
typically must bend over backwards to provide dynamic typing. Free and
powerful languages, such as Ruby, supported entirely by their own
programmer
communities, are going to teach these big software vendors a thing or
to.
--
Phlip
http://industrialxp.org/community/bin/view/Main/TestFirstUserInterfaces
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
Gerd Orfey Guest
|
Posted: Thu Oct 21, 2004 5:18 pm Post subject: Re: Where can I find a good OOD with C++ in an Application |
|
|
Vinzenz Feenstra wrote:
| Quote: | Hi,
I was looking for a real good OOD in an application. I tried hard to
find something. I also read some books about OOD. Now I'm asking
myself, if it is possible to develop an application with a good OOD!?
It was my goal to become a very good C++-Programmer with good OOD
skills.
But I think that isn't possible...
What are you guys thinking about that?
Yours sincerly
Vinzenz Feenstra
|
Maybe you want read: Applied C++ by Philip Romanik and Amy Muntz.
It is published in Stroustrup's C++ In Depth Series. ISBN 9-780321-108944.
regards
Gerd
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|