We should build systems more loosely coupled to achieve properties like robustness, resilience and scalability, Udi Dahan emphasizes in a recent presentation discussing how we can model our systems using more event-driven and asynchronous patterns and some of the challenges developers face when introducing these principles and patterns into development.
DRY reduces duplication and the maintenance problems coming with it, but misusing it leads to high coupling and reduced readability. The lesson: a software development principle should be applied considering other corresponding principles, patterns and practices.
Chain.NET (a.k.a. NChain) is an implementation of Chain Of Responsibility design pattern for .NET and Mono platforms. Version 0.1 combines standard CoR design pattern with Command design pattern with the goal of bringing increased convenience and flexibility in command processing solutions.
Complex Event Processing systems and Event Driven Architectures have been identified as playing a larger role in sophisticated systems today and in the future. What that role is and how it is carried out are up for debate.
In this interview with Nate Kohari, creator of the Ninject dependency injection container for .NET, talks about the release of version 1.0 of Ninject. The interview has taken place over the past weeks leading up to the release of Ninject 1.0.
In the debate on whether cohesion is important for SOA, Carlos Perez expressed his views on coupling in software construction, and how it has evolved in the context of an SOA. He starts out with Bertrand Meyer's principles of modularity and extends it to his own set of principles for service orientation.
Jim Webber re-ignited some interesting discussions about the need (or not) for Cohesive Services within SOA. What started as a fairly innocuous post has certainly generated a lot of debate.
The Microsoft patterns & practices group has released its Dependency Injection container called Unity or the Unity Application Block. Developers can now create loosely coupled applications that are extensible using this lightweight container.
SOA has often been described as a longer term development pattern than the hype surrounding it would often imply. However, many authors have frequently pointed out where some or all of the practices involved within SOA have been used over the past few decades. Kirstan Vandersluis goes further and discusses specific generations of service-oriented development that have lead to today's systems.