There are 3 message exchange patterns (MEP) in the WCF: Request/Response , One Way and Duplex - I'm going to talk about Duplex pattern in this post. In duplex pattern Both the client and the server can send messages to each other independently. This can be used by request/Response messaging pattern too but In the request/Response and one-way message exchange patterns, the communication is initiated by the client application, but in the duplex message exchange pattern, both the

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 solve the problem of converting a 'pure' problem domain model into a full software system. But there are some differences.

Domain Driven Design concentrates on Modeling and solving the Domain problem by Capturing the model from Ubiquitous language. it is about m

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 aspects in AOP. So what's an aspect? There is a great example here on defining the aspect. Imagine that we have a base class named Dog and we inherit another class named Poodledog from this base class. Poodle is a kind of dog and that's why we ca

"An effective enterprise application should be divided into layers", An Enterprise application should has the flexibility, maintainability, scalability , testability and extensibility. And to achieve this there are some techniques and principles like Separation of concern in layers and components and loose coupling. And if you are developing a web application, in order to make it secure and accessible, you need to distribute the application over multiple physical tiers. To ensure high performance and reliability, the application must be testable. Now I'm going

It's about 12:46 am in 8/5/2013, I don’t know anything about Subversion, there are 6 open tab in my browser to discover what is Subversion for. I'll share it in an hour!

What's Subversion?

Subversion is all about managing  and tracking the changes and overall it is an advanced version control. It's tools are so useful for versioning, changes of files and web pages and any document of the software. The main idea be

It's a hard question to answer, or Not? Maybe that's because of my lack of DDD and CQRS understanding. Anyway I'm not sure about what I'm writing in this post to be right and if there is any mistake, please let me know to correct that.

To the best of my knowledge Domain Driven Design is so useful for successfully delivering CQRS based applications but you don't need DDD whenever you want to apply CQRS pattern. CQRS is not intrinsically linked to DDD. CQRS is just a pattern and you use CQRS in a bounded context of a DDD app