Blog

Filter posts by Category Or Tag of the Blog section!

Technical Skills, Software Development, Real World Solutions, Enterprise Applications.
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
Based on Vaughn Vernon 's definition, "DDD-Lite is a means of picking and choosing a subset of the DDD tactical patterns, but without giving full attention to discovering, capturing, and enha...

Wednesday, 04 September 2013
Action "Encapsulates a method that has a single parameter and does not return a value." ~ MSDN , you don't need to create your own custom delegate to pass a method as a parameter, you ca...

Sunday, 01 September 2013
There are 3 message exchange patterns (MEP) in the WCF: Request/Response, One Way and Duplex - I'm going to talk about the Duplex pattern in this post. In duplex pattern, Both the client...

Sunday, 25 August 2013
Domain Driven design(DDDesign) is not the same Model Driven Architecture(MDA). Although The root of both DDDesign and MDA is the same and it is Model Driven Engineering and also both of them aim to so...

Friday, 16 August 2013
Aspect Oriented Programing(AOP) is a way of thinking about the program structure. AOP complements the Object-oriented programming but instead of classes in object-oriented programming, you deal with a...

Monday, 12 August 2013