Click here to Skip to main content
15,884,472 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
GeneralRe: OO Software design epiphany - it might not matter Pin
charlieg13-Jan-21 4:38
charlieg13-Jan-21 4:38 
GeneralRe: OO Software design epiphany - it might not matter Pin
den2k8813-Jan-21 5:23
professionalden2k8813-Jan-21 5:23 
GeneralRe: OO Software design epiphany - it might not matter Pin
PhilipOakley14-Jan-21 1:55
professionalPhilipOakley14-Jan-21 1:55 
GeneralRe: OO Software design epiphany - it might not matter Pin
charlieg13-Jan-21 4:33
charlieg13-Jan-21 4:33 
GeneralRe: OO Software design epiphany - it might not matter Pin
raddevus13-Jan-21 5:02
mvaraddevus13-Jan-21 5:02 
GeneralRe: OO Software design epiphany - it might not matter Pin
Greg Utas13-Jan-21 5:07
professionalGreg Utas13-Jan-21 5:07 
GeneralRe: OO Software design epiphany - it might not matter Pin
den2k8813-Jan-21 5:29
professionalden2k8813-Jan-21 5:29 
GeneralRe: OO Software design epiphany - it might not matter Pin
Marc Clifton13-Jan-21 6:11
mvaMarc Clifton13-Jan-21 6:11 
You are quite correct, IMO. First, forget about the promise of re-use when it comes to objects. Nobody ever does anything in the real world twice exactly the same way to merit any re-use benefit.

In order of importance, to me:
1. Encapsulation - keeps stuff organized

2. Interfaces - defines what the class is expected to implement. I also use empty interfaces simply to indicate that the class supports some other behavior. Could use attributes for that as well, but interfaces are sometimes more convenient when dealing with a collection of classes that all support the same thing and there are methods that operate on that, hence I can pass in "IAuditable", for example.

3. Inheritance/Abstraction - mostly useless, but there are times when I want to pull out common properties among a set of logical classes. Note that I don't consider this to be true abstraction, it's using inheritance to defined common properties and behaviors.

4. Polymorphism - useful, but less so now with optional default parameters that do the work of what one often used polymorphic methods for.

IMO, the reality of "how useful is OO" falls quite short of the promise of OO.

GeneralRe: OO Software design epiphany - it might not matter Pin
PhilipOakley14-Jan-21 1:58
professionalPhilipOakley14-Jan-21 1:58 
GeneralRe: OO Software design epiphany - it might not matter Pin
Member 1330167913-Jan-21 20:17
Member 1330167913-Jan-21 20:17 
GeneralRe: OO Software design epiphany - it might not matter Pin
NelsonGoncalves13-Jan-21 20:55
NelsonGoncalves13-Jan-21 20:55 
GeneralRe: OO Software design epiphany - it might not matter Pin
giulicard13-Jan-21 21:34
giulicard13-Jan-21 21:34 
GeneralRe: OO Software design epiphany - it might not matter Pin
NelsonGoncalves13-Jan-21 21:59
NelsonGoncalves13-Jan-21 21:59 
GeneralRe: OO Software design epiphany - it might not matter Pin
_WinBase_13-Jan-21 23:00
_WinBase_13-Jan-21 23:00 
GeneralRe: OO Software design epiphany - it might not matter Pin
Ed Korsberg14-Jan-21 1:29
Ed Korsberg14-Jan-21 1:29 
GeneralRe: OO Software design epiphany - it might not matter Pin
PhilipOakley14-Jan-21 2:03
professionalPhilipOakley14-Jan-21 2:03 
GeneralRe: OO Software design epiphany - it might not matter Pin
Ed Korsberg14-Jan-21 3:35
Ed Korsberg14-Jan-21 3:35 
GeneralRe: OO Software design epiphany - it might not matter Pin
PhilipOakley14-Jan-21 5:08
professionalPhilipOakley14-Jan-21 5:08 
GeneralRe: OO Software design epiphany - it might not matter Pin
DumpsterJuice14-Jan-21 1:43
DumpsterJuice14-Jan-21 1:43 
GeneralRe: OO Software design epiphany - it might not matter Pin
Lurk14-Jan-21 2:16
Lurk14-Jan-21 2:16 
GeneralRe: OO Software design epiphany - it might not matter Pin
Matt Bond14-Jan-21 2:51
Matt Bond14-Jan-21 2:51 
GeneralRe: OO Software design epiphany - it might not matter Pin
davercadman14-Jan-21 3:00
davercadman14-Jan-21 3:00 
GeneralRe: OO Software design epiphany - it might not matter Pin
obermd14-Jan-21 3:48
obermd14-Jan-21 3:48 
GeneralRe: OO Software design epiphany - it might not matter Pin
Adam O'Neil (Travelers Rest, SC)14-Jan-21 3:49
Adam O'Neil (Travelers Rest, SC)14-Jan-21 3:49 
GeneralRe: OO Software design epiphany - it might not matter Pin
davila a.k.a. Member 1490950114-Jan-21 3:58
davila a.k.a. Member 1490950114-Jan-21 3:58 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.