C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Where can I find a good OOD with C++ in an Application

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ Language (Moderated)
View previous topic :: View next topic  
Author Message
Vinzenz Feenstra
Guest





PostPosted: Tue Oct 19, 2004 4:39 pm    Post subject: Where can I find a good OOD with C++ in an Application Reply with 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

[ 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





PostPosted: Wed Oct 20, 2004 6:33 pm    Post subject: Re: Where can I find a good OOD with C++ in an Application Reply with quote



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





PostPosted: Wed Oct 20, 2004 9:36 pm    Post subject: Re: Where can I find a good OOD with C++ in an Application Reply with quote



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





PostPosted: Thu Oct 21, 2004 4:39 pm    Post subject: Re: Where can I find a good OOD with C++ in an Application Reply with quote

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





PostPosted: Thu Oct 21, 2004 5:18 pm    Post subject: Re: Where can I find a good OOD with C++ in an Application Reply with quote

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
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ Language (Moderated) All times are GMT
Page 1 of 1

 
Jump to:  
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


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.