LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 09-13-2010, 07:29 AM   #1
wakatana
Member
 
Registered: Jul 2009
Location: Slovakia
Posts: 141

Rep: Reputation: 16
Object oriented design tutorial


Hi gurus
I'am searching for a book or tutorials about DESIGNING your application from the ground - step by step (Dividing application to classes, determine which methods to use, define relations among classes...).
I am not searching reference book for particular language.
I would invite book where all phases of software development would be involved: implementation design programming - with lot of examples and comparing different techniques of problem solution.
Also the much UML diagrams the better
In school we had a great tutorial about creating Puzzle step by step - if someone speak slovak here is link http://hornad.fei.tuke.sk/~vaclavik/dotnet/ but unfortunately this is the one of its kind .
It would be great if this tutorial will show code in c# but if it would be java or c++ no matter OOP is same in all languages.
Thanks a lot

Last edited by wakatana; 09-13-2010 at 07:30 AM.
 
Old 09-13-2010, 08:06 AM   #2
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 11,200

Rep: Reputation: 5307Reputation: 5307Reputation: 5307Reputation: 5307Reputation: 5307Reputation: 5307Reputation: 5307Reputation: 5307Reputation: 5307Reputation: 5307Reputation: 5307
Head First Design Patterns is very good. It's also the the only one I would personally recommend.

http://www.amazon.com/First-Design-P...dp/0596007124/

Last edited by dugan; 09-13-2010 at 08:07 AM.
 
Old 09-13-2010, 08:11 AM   #3
wakatana
Member
 
Registered: Jul 2009
Location: Slovakia
Posts: 141

Original Poster
Rep: Reputation: 16
Thanks, I will look for this book as soon as possible good to know where to begin
 
Old 09-13-2010, 08:44 AM   #4
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 454Reputation: 454Reputation: 454Reputation: 454Reputation: 454
The main thing to remember is that in OO paradigm kittens are mutants.
 
Old 09-13-2010, 11:06 AM   #5
wakatana
Member
 
Registered: Jul 2009
Location: Slovakia
Posts: 141

Original Poster
Rep: Reputation: 16
What do you mean by that ? maybe I miss a point because of my english
 
Old 09-13-2010, 12:51 PM   #6
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 454Reputation: 454Reputation: 454Reputation: 454Reputation: 454
Quote:
Originally Posted by wakatana View Post
What do you mean by that ? maybe I miss a point because of my english
Inheritance in OO means a different thing.

A normal kitten is just like its parent - the same two eyes, the same four legs, the same tail. The color/size may be different - that is what constructors with parameters are for.

In OO, if it's not a simple instance of parent class, something else should be added which the parent doesn't possess - like fish scale or a third eye on the head back, etc.

I.e. regarding mutant kittens - it is a grimly serious joke.
 
Old 09-13-2010, 04:40 PM   #7
wakatana
Member
 
Registered: Jul 2009
Location: Slovakia
Posts: 141

Original Poster
Rep: Reputation: 16
If I understand inheritance well of course you could have kitten with 4 legs 2 eyes... and it child will have third eye - this is the basic principle of inheritance - inheritance would miss its point if children and parents would be equal.
But I am not sure if this is the main thing to remember and you can write well designed applications.
Anyway thanks for explaining the joke about kitty mutant
 
Old 09-13-2010, 11:41 PM   #8
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 454Reputation: 454Reputation: 454Reputation: 454Reputation: 454
Quote:
Originally Posted by wakatana View Post
If I understand inheritance well of course you could have kitten with 4 legs 2 eyes... and it child will have third eye - this is the basic principle of inheritance - inheritance would miss its point if children and parents would be equal.
But I am not sure if this is the main thing to remember and you can write well designed applications.
Anyway thanks for explaining the joke about kitty mutant
The grim point is that OO proponents found it necessary to first and foremost screw up human language. I.e. inheritance is a poorly chosen word - feature/property extension would be much better.
...
Another point is that real life inheritance is typically multiple inheritance while in OO they tend to avoid multiple inheritance - some languages (e.g. Java) don't even have it.

Last edited by Sergei Steshenko; 09-14-2010 at 03:02 AM.
 
Old 09-13-2010, 11:47 PM   #9
pr_deltoid
Member
 
Registered: Jun 2010
Distribution: Fedora
Posts: 289

Rep: Reputation: 41
Ruby also doesn't allow multiple inheritance.
The C++ standard library uses multiple inheritance for the classes in iostream, that I know of.

Last edited by pr_deltoid; 09-13-2010 at 11:49 PM.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Object-oriented C memory leak MTK358 Programming 37 12-19-2009 04:51 PM
object oriented advice in C++ xeon123 Programming 5 05-02-2007 09:20 AM
LXer: Head First Object-Oriented Analysis & Design LXer Syndicated Linux News 0 01-30-2007 05:21 AM
How to write a object oriented program using c ssg14j Programming 6 08-10-2005 09:56 AM
Object-Oriented Design Citizen Bleys Programming 2 02-11-2002 01:25 PM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 07:30 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration