Deze week bespreek ik een van mijn favoriete patterns: het Adapter pattern. Ik vond de volgende definitie van het woord adapter:
Aanpassingseenheid tussen twee systemen, meestal waarmee een toestel dat op laagspanning werkt ook op het lichtnet kan worden aangesloten.
Wat mij betreft is dit een prima definitie want het beschrijft exact wat dit patroon is: Aanpassingseenheid tussen twee systemen.
Stel: ik heb interface A en klasse B. B implementeerd niet A en kan dus niet direct door clients van A gebruikt worden. Als dit wel wenselijk is dan kun je dit probleem oplossen met behulp van een Adapter: maak een nieuwe klasse C die interface A implementeerd en klasse B encapsuleerd. Implementeer de methods van interface A en map deze naar de geencapsuleerde instantie van B. Klaar! Je kunt nu op de plaatsen waar je interface A wilt hebben object B ‘adapten’.
Ik gebruik dit pattern in mijn eigen framework bijvoorbeeld om mijn applicatie context geschikt te maken voor gebruik in de Apache Velocity template engine.
Kort en krachtig, net zoals als het Adapter patroon zelf.
Deze week zijn er nieuwe releases vrijgegeven van een aantal componenten van het Castle Project framework. Het Castle Project is, zoals ze zelf zeggen:
Allereest alle goede wensen voor dit nieuwe jaar! Laten we direct het belangrijkste onderwerp van 2010 bespreken: geld. Dit is wellicht wat kortzichtig en bekrompen echter heeft dit onderwerp menig architect in verlegenheid gebracht. Niet omdat het project duurder uitviel dan verwacht maar meer omdat de rol van geld (bedragen) binnen software architectuur wel eens onderschat wordt. Laten we de waarde van een bedrag maar opslaan in een decimal of floating point veld, we doen er verder toch niet zo veel mee. Fair enough.
Een beetje later dan gepland maar ook deze week laat ik weer een pattern de revue passeren. Deze week het Strategy pattern zoals beschreven bij de Gang of Four omdat het gewoon een heerlijk simpel pattern is.
Ok, dit is mischien de vreemdste titel in de Nederlandse blog historie, maar er zit een goed verhaal achter geinspireerd op een
Welkom bij deze tweede post in de reeks over patterns die wereldwijd toegepast worden bij het ontwerpen van software. Deze week behandel ik het Flyweight pattern zoals vast gelegd door de fameuze
In veel applicaties worden de state van objecten bepaald door tijd. Neem bijvoorbeeld deze blogpost: ik heb deze post vrijdagmiddag geschreven maar pas op maandag laten publiceren. Dit heeft op maandag een verborgen (impliciete) state transitie veroorzaakt; namelijk van ‘scheduled’ naar ‘published’.