Open Closed Principle

Følgende indlæg er en del af en en række posts som beskriver S.O.L.I.D. principperne. Open Closed Principle Du kender det måske - en nødvendig ændring trigger andre ændringer og før du har set dig om har et hav af klasser ændret sig og du er nødt til at genteste og re-deploye store dele af din applikation. Sådanne ændringer koster dyrt og indebærer en større risiko end hvis du kunne nøjes med at tilføje en enkelt eller to klasser med tilhørende unit tests. Så derfor, Open Clos... [More]

Single Responsibility Principle

I denne post behandler vi Single Responsibility Principle fra S.O.L.I.D. Måske har du set eller skrevet kode hvor flere ortogonale (ikke parallelle) ansvarsområder blev varetaget af een "mother-of-all" klasse? Sådanne monolitter er svære at vedligeholde fordi vi på et tidspunkt får behov for at udvide med præcist de features, som får kode-læsset til at tippe. Kig f.eks. på følgende klasser: public abstract class Statistics {     public abstract void CollectData();     public abstract double CalculateMe... [More]

S.O.L.I.D. Principperne

S.O.L.I.D. Principperne SOLID er betegnelsen for en række (OO) design principper som, når de anvendes sammen, hjælper til med at konstruere software, som kan overleve og vedligeholdes i adskillige år fremover. De fem principper som ligger til grund for S.O.L.I.D. er: Single Responsibility Principle (SRP) Open/Closed Principle (OCP) Liskov Substitution Principle (LSP) Interface Seggregation Principle (ISP) Dependency Inversion Principle (DIP) I efterfølgende artikler vil vi kigge på principperne hver for sig og slutteligt i et større persp... [More]

Motivation for godt softwarehåndværk

Hvilken motivation er der i det hele taget for at beskæftige sig med solidt softwarehåndværk? Hvorfor ikke blot acceptere, at vi slår nogle skæverter og så komme videre ud over stepperne? Kan det betale sig at gøre sig umage? Kan vi ikke bare smide det dårlige system væk, bygge et nyt med mere tidsvarende teknologi? Kig bare tilbage på de sidste 20 år: Vi har gennemgået en eksplosiv udvikling, så det er da gået meget godt? Lad os med det samme slå fast, at det kan betale sig lave godt håndvæ... [More]