ConcurrentDictionary is a type from .NET 4.0 and System.Collections.Concurrent namespace for handling multiple threads. It allows multiple threads to access a dictionary instance concurrently. This Ty...
Friday, 18 October 2013
When you define a generic class, you can apply the generic type independent on a certain feature. In other words, you help the client code by using constraint to not got the error when instantiating t...
Friday, 18 October 2013
Do you know how the Dot Net mechanism stores your object in memory? I don't know! But we should know how to store the content of an object into a file (in the simplest form) or transfer the o...
Thursday, 17 October 2013
Today I heard about the Extern keyword in C# for the first time by one of my colleagues. it actually eliminates conflicts. It provides a way for you to differentiate between different physical lo...
Wednesday, 16 October 2013
A singleton is a class which allows one instance of itself to be created and allow you to easily access to that instance. A singleton just gives you a single instance of a class. When you ne...
Tuesday, 15 October 2013
You may have difficulties with writing a test first in your development process, it's also a little bit confused that you test something that does not exist! hum? lack of any specification within ...
Tuesday, 08 October 2013
In enterprise applications, when it comes to a large amount of data and different components and you are aiming for code reuse; there is a pattern named Dependency Injection to avoid tight coupling of...
Thursday, 03 October 2013
When I read about nServiceBus or work with that it reminds me that "If it is complicated, you're probably doing it wrong". nServiceBus is really an amazing service platform for distribut...
Wednesday, 02 October 2013
One of the best ways refactors a long method is to break it up into several methods. The extract method refactoring enables you to do this by selecting a block of code and select the Extract method an...
Sunday, 29 September 2013
There is a fact that writing application in JavaScript is so hard. JavaScript is not a programming language and this makes it so hard to manipulate it especially in large application and JavaScript is...
Saturday, 28 September 2013
Today I was in the second meeting of Iran agile community, although the discussion was a little bit messy I made some documents around. I'm just going to share what the members talked about a...
Thursday, 26 September 2013
Document-oriented databases AKA Semi-structured data are designed for managing, storing and retrieving the document orientation databases. Document data stores are kinds of NoSQL databases. ...
Monday, 23 September 2013
PagedList.Mvc is one of many good paging and sorting packages for ASP.NET MVC, in the below simple example I'm gonna implement it for content (posts) of a blog post, install the PagedList.MVC...
Friday, 20 September 2013
POCO which stands for "Plain Old CLR Objects" is an entity/class and doesn’t depend on any specific base class. It is like any other Dot net class you have seen before. These POCO enti...
Friday, 20 September 2013
As you know, Dependency Inversion Principle is the last principle of SOLID. I talked about SOLID principle and fundamental in my previous post that was about SRP. Now I'm gonna to consider the dep...
Monday, 16 September 2013
I had a long discussion with one of my colleague about using a base class in Data access layer or repository instead of implementing all common scenario like CRUD operation for every aggregate. it'...
Thursday, 12 September 2013
SOLID stands for five basic principles of Object Oriented programming to create a system that is easy to maintainable and extensible. The principles of SOLID are guidelines to create refactored a...
Saturday, 07 September 2013
Optimistic and pessimistic concurrency control AKA optimistic and pessimistic locking is a mechanism to preserve database integrity in multi-user applications. Optimistic and pessimistic are two ...
Friday, 06 September 2013