Click here to Skip to main content
15,885,914 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
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 
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 
I tend to take the view that isolation is a good target. Code isolated from other code is both maintainable and reusable, regardless of whether it is via an OO design or not.

Reuse is limited when using any OO language, because then any program that wants to reuse that code has to use the same language. If you're going after reuse, you have to give up OO because they are mutually exclusive.

All the re-used code are written in a non-OO language. Sqlite, for example, is one of the most widely deployed pieces of code in the world. All media format readers, as well, are widely deployed and non-OO.

If you write something really new and novel that does not exist (a new image format, a new protocol, new encryption algo, new compression format, interface to any of the above, or interface to existing daemons (RDBMSs, etc)), and you write it in Java or C#, the only way that it can become popular is if someone re-implements it in C so that Python, C, C++, Java, C#, Delphi, Lazarus, Perl, Rust, Go, Lisps, Php, Ruby, Tcl (and more) programs can use it.

The upside of producing library files (.so or .dll) that can be used by any language is that the result is also quite isolated and loosely coupled from anything else:

  • It can be be easily extended by anyone, but not easily enhanced.
  • It can be easily swapped out and replaced with a different implementation without needing the programs using that library to be recompiled, redeployed or changed in any way.
  • Because it is a library, it will only be for a single type of task (no one would even think of putting unrelated functionality into a compression library, but I've seen devs happily put in unrelated stuff into a compression class).


Ironically, you can more easily achieve SOLID principles writing plain C libraries (.so or .dll) than you can with actual OO languages, because of the limitations of the call interface in dynamic libraries.
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 
GeneralRe: OO Software design epiphany - it might not matter Pin
Rusty Bullet14-Jan-21 5:23
Rusty Bullet14-Jan-21 5:23 
GeneralRe: OO Software design epiphany - it might not matter Pin
Chris Boss14-Jan-21 6:08
professionalChris Boss14-Jan-21 6:08 

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.