Archive for 'Development Techniques'
Published on August 5th, 2010.
I think everyone knows about Dependency Injection (DI) and how important it is when it comes to building low-coupled components. There are many IoC (Inversion of Control) containers. The most popular are
Each of them has its own pros and cons. I have been using NInject for years and I am really happy with it. Autofac is quite a new DI framework which shows really good results on benchmarks. You can find information for all DI frameworks on their websites or just google them for comparison. (more…)
Published on August 3rd, 2010.
ASP.NET MVC has become more and more popular. In my previous post I gave you my vision about it and what it introduced to ASP.NET developers. One of the advantages of the MVC pattern is the better testability. You can easily test every controller without dealing with the View itself.
Test-Driven Development (TDD)
Principles of TDD are really simple. The entire TDD process is described on the following scheme:
Published on December 29th, 2009.
Microsoft Application Architecture Guide, 2nd Edition is a Must Have eBook for Developers and Solution Architects. The guide is intended to help developers and solution architects design and build effective, high quality applications using the Microsoft platform and the .NET Framework more quickly and with less risk. It provides guidance for using architecture principles, design principles, and patterns that are tried and trusted. The guidance is presented in sections that correspond to major architecture and design focus points. It is designed to be used as a reference resource or to be read from beginning to end.
The guide helps you to:
- Understand the underlying architecture and design principles and patterns for developing successful solutions on the Microsoft platform and the .NET Framework.
- Identify appropriate strategies and design patterns that will help you design your solution’s layers, components, and services.
- Identify and address the key engineering decision points for your solution.
- Identify and address the key quality attributes and crosscutting concerns for your solution.
- Create a candidate baseline architecture for your solution.
- Choose the right technologies for your solution.
- Identify patterns & practices solution assets and further guidance that will help you to implement your solution.
Published on December 11th, 2009.
What it Behavior-Driven Development (BDD)?
This new development technique is an evolution of the well-known Test-Driven Development. It encapsulates the idea of the Domain Driven Design to use a Ubiquitous language which should break the boundary between Business and Technology. That way, BDD makes sure that the business, developers, testers, analysts and managers use the same words with equal meaning
The BDD process looks like this:
A business user works with a business analyst to identify a business requirement. This is expressed as a story using the following template:
- As a Role
- I request a Feature
- To gain a Benefit
The speaker, who holds the Role, is the person who will gain the Benefit from the requested Feature. Dan North has written a great article about stories. I advice you to read it if you feel that it’s not clear enough. (more…)