On Message Queue Technologies

The Database As Queue Anti-Pattern “Why is it an anti-pattern? 1) polling either short interval hammers the db, or long interval makes system irresponsive. 2) polling queries should be fast, need to implement index, which makes inserts slow, contradiction. 3) clear records to make the table efficient, usually deletes are slow 4) sharing a database […]

ioc comparison

IoC Container Benchmark – Performance comparison “Ninject is definitely the slowest container.

MEF, LinFu and Spring.NET are faster than Ninject, but still pretty slow. AutoFac, Catel and Windsor come next, followed by StructureMap, Unity and LightCore. A disadvantage of Spring.NET is, that can only be configured with XML.

DryIoc, LightInject and SimpleInjector offer a very […]

Enterprise App Dev Design Patterns

Useful Design Patterns in cloud-hosted applications ” Design Patterns The guide contains twenty-four design patterns that are useful in cloud-hosted applications. Each pattern is provided in a common format that describes the context and problem, the solution, issues and considerations for applying the pattern, and an example based on Microsoft Azure. Each pattern also includes […]

wpf development and mvvm pattern

WPF Enterprise MVVM Session 1: Building a base ViewModel class https://www.youtube.com/watch?v=lool8Ut58Xw

ADO.NET Entity Framework “This sample shows a WPF application built on top of the Microsoft ADO.NET Entity Framework. The application shows how the Entity Framework can be used in some common design patterns that promote testability and maintainability of code.” https://code.msdn.microsoft.com/windowsdesktop/ADPNET-Entity-Framework-2d1160cb


MVVM Best […]

event aggregator pattern

Event Aggregator: Channel events from multiple objects into a single object to simplify registration for clients. “Event Aggregator is a good choice when you have lots of objects that are potential event sources. Rather than have the observer deal with registering with them all, you can centralize the registration logic to the Event Aggregator. As […]

Reactive architecture

Reactive programming “For example, in an imperative programming setting, a := b + c would mean that a is being assigned the result of b + c in the instant the expression is evaluated. Later, the values of b and c can be changed with no effect on the value of a.

In reactive programming, […]

SOLID Principles with Examples in C#

Implementing the Inversion of Control Pattern in C# http://www.codeguru.com/columns/experts/implementing-the-inversion-of-control-pattern-in-c.htm

SOLID Principles in C# – An Overview http://www.codeguru.com/columns/experts/solid-principles-in-c-an-overview.htm

SOLID principles with real world examples http://blog.gauffin.org/2012/05/solid-principles-with-real-world-examples/#.Ulv_JlC1G8M


ref: http://en.wikipedia.org/wiki/SOLID_(object-oriented_design)

Initial Stands for (acronym) Concept S SRP Single responsibility principle a class should have only a single responsibility. O OCP Open/closed principle “software entities … should be open […]