Specification Pattern – Essentials

Specification pattern is DDD specific way for buildingblocks of business logic on top of domain entities.They are defined as predicates/filters for entities.They can be combined in more complex logic.You can benefit from implementation specificsas some technologies provide many enhancements. To correctly define specification pattern and find an applicable area for it, we should describe 4 […]

Continue reading


 Covariance

Covariance & Contravariance are one of the most confusing terms in C#, no surprise it’s very popular for geeky questions in job interviews. Any time someone mentions those terms, it takes quite a while to refresh my knowledge about it. So, I decided to write a couple posts explaining them in the simplest and shortest […]

Continue reading


 Code Contracts & VS Extensibility

Many times I’ve seen repetitive and obsessive validation of input parameters.It may be a consequence of confusion in what “defensive programming” paradigm really is.I will give a simple example – Let’s say we have a following code snippet: So, this made me think – is this a good practice or upper code snippet is too “defensive”?I think it’s a bad practice […]

Continue reading


 Smile

Don’t smile at people. Smile through them. Let your happiness share itself.Smile like you wish to tap their shoulder so both of you can gaze at the stars.This way you create affection, admiration, pride and joy, not for others,but for Creator himself – by your own example and seeds of other’s happiness. “Smiles are soul’s kisses” […]

Continue reading