Static service extension

Ik zat te stoeien met het gebruik van statics, services en extensions voor redelijk generieke functies in een library.
Extensions zijn mooi en helder, maar… ik ben er toch voorzichtig mee, het is niet altijd handig als je de code overzet. Naar mijn gevoel kan je hiermee een ‘onzichtbare’ afhankelijkheid in je code verwerken.

Static zijn handig voor… statische data bewerkingen. Dat ontdekte ik toen ik een class wilde maken die gebruik maakte van DateTime.Now.

Ik heb een IClockService waarmee ik DateTime.Now inkapsel; standaard geeft ie keurig de tijd maar bij een (unit)test kan ik m.b.v. mocking testen met een specifieke datum. Dat werkt niet lekker als ik de library in een static class uitvoer. In veel andere gevallen is een static wel bruikbaar.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s