Geeks With Blogs
Annie Bougie
Being a developer, I am always reading about orthogonality of things. Modules need to be orthogonal. I have always been confused by that term. The dictionary has several definitions of orthogonal:
  1. intersecting or lying at right angle
  2. having perpendicular slopes or tangents at the point of intersection
  3. having the integral of the product of each pair of functions over a specific interval equal to zero
  4. having the scalar product equal to zero

How do these definitions have anything at all to do with programming? This is almost as unhelpful as the next definitions, which presume you know the meaning of the word you are looking up. Aren't you looking up a word because you don't know the meaning of it?

  1. having a matrix that is orthogonal
  2. composed of mutually orthogonal elements

I always kind of thought I knew what it meant, but couldn't really explain the concept to someone else. I think if you can't explain a concept to someone who doesn't know it, you don't really know it yourself.

Now, I finally get it!

Here is the definition that finally made the lightbulb go off for me (from The Pragmatic Programmer): Two or more things are orthogonal if changes in one do not affect changes in any of the others.

So, what does this mean for designing an application? It means that you have layers of abstraction between the different parts of your system. It is the basic concept behind many of the programming axioms we all know and love. The following object-oriented concepts are really just describing orthogonality in software design:
  • Encapsulate what varies.
  • Favor composition over inheritance.
  • Program to interfaces, not implementations.
  • Strive for loosely coupled designs between objects that interact.
  • Depend on abstractions. Do not depend on concrete classes.

So, let us go orthogonally where no man has gone before!. No, where many others have gone and achieved great success doing so. Somehow that doesn't quite have the same ring to it, but it's probably closer to the mark.

Posted on Tuesday, September 10, 2013 6:43 AM | Back to top

Comments on this post: Wherefore art thou Orthogonal?

# re: Wherefore art thou Orthogonal?
Requesting Gravatar...
yeah the word 'orthogonal' does first i didn't understand what you meant to say and about what the article was going to be but after finishing reading your post this became more or less clear..not i feel like i can write my thesis on it..well most probably i cannot but feels like i can
Left by Scarlet on Feb 07, 2017 12:51 AM

# re: Wherefore art thou Orthogonal?
Requesting Gravatar...
Now that you have a clear idea of what your theme is, you can flesh out
the beginning and the end. Try to stay away from cutesy or clever opening lines and instead, try to answer
While I appreciate Ms. Day's reflections and enthusiasms,
/ I would remind her that we are to test all things to see if they are truly from God
Left by hppy romz on Jul 11, 2017 11:26 PM

# re: Wherefore art thou Orthogonal?
Requesting Gravatar...
Left by Sumit smith on Jul 12, 2017 9:49 PM

# re: Wherefore art thou Orthogonal?
Requesting Gravatar...
It is very important calendar
august 2017 calendar in pdf,excel
Left by naitikkumar on Jul 14, 2017 10:01 PM

# printable calendar template
Requesting Gravatar...
Left by naitikkumar on Aug 15, 2017 9:17 PM

# re: Wherefore art thou Orthogonal?
Requesting Gravatar...
thanks for the amazinf stuff
usps sunday delivery hours
Left by aashi on Aug 26, 2017 8:24 PM

Your comment:
 (will show your gravatar)

Copyright © Annie Bougie | Powered by: