The domain describes your business and in Domain Driven Design, (DDD), the domain is the most important ingredient of the application, Andras Nemes explains when starting a series of blog posts on building a web service based on Domain-Driven Design principles. His goal is not to cover all details and aspects of DDD, his ambition though is that also developers completely new to DDD can benefit.
With a long history of data-driven development, Julie Lerman shares her experiences moving into using her skills with Domain-Driven Design in three articles, with examples in C# using Entity Framework
Jonathan Kohl makes the argument for adapting processes in response to changes in the environment and technology ecosystem. He provides examples from the mobile device world and how a number of the "accepted" agile practices actually impede rather than enhance teams' ability to deliver value quickly.
Start using Behaviour-Driven Development (BDD) when designing an application and focus on the domain instead of the database, Julie Lerman, a Microsoft MVP since 2003, suggests. BDD lets developers focus on user stories and behaviour in the business domain when building up logic and tests. New to BDD, Julie has implemented a working example using Visual Studio, C# and SpecFlow.
Architecture is about intent, we have made it about frameworks and details, Robert C. Martin, “Uncle Bob”, stated earlier at this year’s DDD Exchange Day in London. Robert refers to a book by Ivar Jacobson from 1992 and brings the original thoughts about use cases into architecture models, e.g. Hexagonal architecture and Clean architecture to improve these models.
To take advantage of the great concurrency opportunities the new multi-core machines gives us we should use a programming model that helps us achieve this, and the Actor model gives us a number of tools for doing that, Vaughn Vernon stated at this year’s DDD Exchange Day in London.
The first thing a team should do on a new software project is drawing a context map to help them understand the context, the core domain and what other contexts they may need to interact with to get a shared understanding of the domain between everyone involved, Paul Rayner explains when sharing his experiences what kind of documentation teams doing Domain-Driven Design, DDD, should produce.
PostSharp 3.0 brings with it deep integration with Visual Studio and NuGet. With a couple of mouse clicks PostSharp can apply aspects to a method in a clean project. All of the required packages for the aspect are automatically downloaded.
Using the Hexagonal architecture style allows for delaying decisions for architectural mechanisms and promotes using the same internal API irrespective of type of client, Vaughn Vernon explained last week when describing different architecture styles from a DDD perspective; the classical Layered Architecture and the more advanced Hexagonal and Actor Model styles.
The latest version of CQRS framework Axon supports MongoEventStore, which uses MongoDB as a backing store, and comes with a simplified API and performance improvements. The recently released version 2.0 also lets event objects be based on POJOs and annotations to define messages, payload and metadata.
VMware's SpringSource team has released the GA version of Spring Framework 3.2, exactly one year after 3.1. The new release emphasises the Spring MVC web framework.
SharpCrafters, makers of the AOP framework PostSharp, have developed a drop-in deadlock detection toolkit. This toolkit works with most standard locking primitives such as Mutex, Monitor, and ReaderWriterLock with only a single line of code added to the project.
A Collection of Agile Resources by J. Sutherland, K. Schwaber, D. Star, M. Lacey, and D. J. Anderson
Microsoft has put together a number of resources for Visual Studio developers, containing principles, practices and guidelines for Agile development. These resources are condensed articles written by influential Agile leaders -Jeff Sutherland, Ken Schwaber, David Star, Mitch Lacey, David J. Anderson - containing the essence of several Agile methodologies and being usable by any software dev team.
Simon Cropp has released an IL weaving tool that wires property changed notifications into automatically implemented properties. IL weaving is a technique in which the IL code in an assembly is rewritten to add functionality.
JBoss has released Byteman 2.0.0, an open source Java bytecode manipulation tool licensed under GNU LGPL 2.1. Byteman is a Java agent which helps testing, tracing, and monitoring code. It allows developers to change the operation of Java applications, either as it is loaded or during runtime.