SOLID programmering; del 2

Dags för del 2 i serien om SOLID.

Del 2 – Open/Closed Principle

Bokstaven ”O” i akronymen SOLID betyder ”Open/Closed Principle”. Den dikterar följande:
En klass skall vara öppen för tillägg men stängd för ändringar.

Så vad betyder det egentligen? Jo, eftersom man i en produktionsmiljö vill ändra källkoden så lite så sällan som möjligt så bör man designa sitt program till att tillåta att programmet kan ändra sitt beteende utan att man behöver ändra källkoden. Att ändra källkoden innebär kodgranskning, godkännande osv osv, som kan vara en ganska omfattande procedur.

Det finns flera olika tolkningar om hur detta skall uppnås. En av de tidigaste sätten dikterade att du skall aldrig ändra en klass såvida den inte innehåller buggar och rena fel. Tillägg och ändringar skall läggas i en ny klass som ärver från den ursprungliga klassen. Den nya klassen behöver inte alltid ens ha samma interface som den klassen som den ärver ifrån.

Under 90-talet utvecklades dock en annan variant av arv; arv via abstrakta interface. Detta innebär att man ärver från en abstrakt basklass och med polymorfism kan den nya klassen utföra den nya funktionen baserat på ärvda eller nya interface.

I den här delen så har jag inte något kodexempel som illustrerar detta, då det mer handlar om arkitektur och design. Om jag hittar ett bra exempel så kommer jag att återkomma till denna princip.

Annonser

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut / Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut / Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut / Ändra )

Google+ photo

Du kommenterar med ditt Google+-konto. Logga ut / Ändra )

Ansluter till %s

%d bloggare gillar detta: