A lot of these bloated patterns that got popular in the Java world have shorter, simpler alternatives when programming in a functional style. You often don't need multiple child classes to implement a template method if you can just pass a function to the constructor. You don't need a BananaFactory if you can just inject a createBanana function. Remarkably many Gang of Four design patterns are unneeded once you can p…
I like your comment. Do you have any examples of C# libraries that use the ideas you're talking about? Or even better - do you know of a tutorial or something where I can clearly see the two approaches compared and contrasted?
Contrast that with Microsoft's WCF: http://www.codeproject.com/Articles/105273/Create-RESTful-WC...
Quartz: http://www.quartz-scheduler.net (hint: it's gigantic)
Contrast with
private void ScheduleRepeated(Action task, TimeSpan interval)
{
Task.Run(async () =>
{
while (true)
{
await Task.Delay(timeSpan);
task();
}
});
}