Ortogonální softwarové komponenty

Pojem ortogonality známe z geometrie, kde vyjadřuje kolmost. Také algebraici termín znají, u vektorů totiž tento termín vyjadřuje nezávislost dvou vektorů. Pakliže se pohybujeme po jedné ze dvou ortogonálních přímek, tak průmět naší pozice na té druhé se nemění. I když urazíme třeba deset kilometrů.

Tento princip byl přenesen i do světa vývoje softwaru. Dvě softwarové komponenty nazýváme ortogonální, pakliže se změna implementace (vnitřku komponenty) jedné nijak neprojeví na té druhé. U komponentově orientovaných softwarových projektů se snažíme o to, aby byly všechny komponenty navzájem ortogonální. To je ideální stav.

Ortogonalita se často vylučuje s globálními proměnnými. Když máme globální proměnnou, která se používá ve více komponentách, je těžké udržet ortogonalitu. Proto se globálním proměnným vyhýbejte. Taková věc nemusí mít nutně formu proměnné, například já na sobě často pociťuji přílišné používání jedináčka (návrhový vzor). Ve své podstatě se takový jedináček může chovat jako globální proměnná. Pozor na to!

Ještě bych upozornil, že tato moudra nejsou z mé hlavy. Je to know-how pánů Andrew Hunta a David Thomase, kteří jej sdílí v knize The Pragmatic Programmer: From Journeyman to Master, kterou u nás vydal CPRESS. Doporučuji k přečtení.

Diskuze

If you can't read the letters on the image, download this .wav file to get them read to you.
pridej.cz
blog/ortogonalni_softwarove_komponenty.txt · Poslední úprava: 29.05.2008 09:04 (external edit)
Creative Commons License Valid CSS Driven by DokuWiki Recent changes RSS feed Valid XHTML 1.0