The Importance of Patterns in DDD

by Jan Stenberg on  Feb 28, 2017

There are lots of patterns outside of Domain-Driven Design (DDD) that are important to know, and they will help you design better systems, Cyrille Martraire claimed in his presentation at the recent DDD Europe Conference in Amsterdam when discussing the importance of patterns.

What Programmers Can Do to Write Better Code

by Ben Linders on  Jun 02, 2016

To write better code, programmers have to apply design fundamentals and read existing code, says Martin Thompson, a Java Champion and high-performance-computing specialist. InfoQ interviewed him after his Engineering You talk at QCon London 2016 about the challenges that the software industry is facing and what programmers can do to deal with those challenges and become better software engineers.

A Pattern for API Backends Serving Frontends

by Jan Stenberg on  Dec 29, 2015 2

The web experience through a mobile device differs in many ways from a desktop version with its smaller screen, limited data plans and need for fewer requests. A mobile device also requires different data and may provide other interactions, e.g. with a bar code reader. One solution is to have one API backend for each type of client, a Backend For Frontend (BFF), Sam Newman explains in a blog post.

Eric Evans on DDD, Microservices and Boundaries

by Jan Stenberg on  Jun 14, 2015 4

There is tremendous value in microservices, probably giving us the best environment we have ever had for doing Domain-Driven Design (DDD), Eric Evans stated in his keynote at this year’s DDD Exchange conference in London. Iteration is the most important key to good design and microservices is the second attempt, after SOA, to get things right.

Introducing IODA Architecture

by Jan Stenberg on  May 27, 2015

For Ralf Westphal common architectural patterns like Layered architecture, Hexagonal architecture and Clean architecture all look very similar giving a very crude idea of the structure of an application. Looking for another way of describing architecture Westphal has defined an architectural style, IODA Architecture, built on three formal responsibilities: Operation, Data and Integration.

Aggregates, Entities and Value Objects in Domain-Driven Design

by Jan Stenberg on  Jan 31, 2015

Move as much as possible of the behaviour away from the Entities into Value Objects when working with Aggregates, As more behaviour is needed this is added as new value objects, Paul Rayner recommends in a series of blog posts covering aggregates, entities and value objects, all concepts from Domain-Driven Design (DDD).

Architecture, Technology and the Lava Layer Anti-Pattern

by Jan Stenberg on  Jan 12, 2015 1

Successive changes to architecture and technology throughout the lifetime of an application can lead to a fragile and fragmented codebase that is hard to understand and maintain, an anti-pattern named Lava Flow or Lava Layer that Mike Hadlow often finds in enterprise software, especially in large, mission critical and long-lived software.

Exploring the Hexagonal Architecture

by Jan Stenberg on  Oct 31, 2014

Layered systems are an architectural style used essentially to avoid coupling, the biggest enemy of software maintainability, with Ports and Adapters, or a Hexagonal Architecture, an example of such an architecture, Ian Cooper explains in a presentation about architecture styles, specifically the Hexagonal Architecture.

Domain-Driven Design with Onion Architecture

by Jan Stenberg on  Oct 30, 2014

Domain-Driven Design (DDD) together with Onion Architecture is a combination that Wade Waldron believes has increased his code quality dramatically since he started using it a few years back. Using DDD was a kick-off but together with Onion architecture he found his code to be more readable and understandable, and far easier to maintain.

Java 8 Update 11 Broke Third Party Tools

by Ben Evans on  Aug 01, 2014

Oracle's latest update to Java, 8 update 11, introduced a breaking change that has affected a range of third-party tools, including JRebel, Groovy and Google's Guice library.

Protocol Design and Implementation with Martin Thompson

by Harry Brumleve on  Jul 27, 2014

Martin Thompson answers a few questions about the opportunity for developers and architects to introduce custom protocols to their system's interaction points.

Facebook: MVC Does Not Scale, Use Flux Instead [Updated]

by Abel Avram on  May 15, 2014 13

This article has been updated based on community and Jing Chen (Facebook)’s reaction. (See the Update section below.) Facebook came to the conclusion that MVC does not scale up for their needs and has decided to use a different pattern instead: Flux.

Object Oriented Design Principles and Functional Programming

by Jan Stenberg on  Mar 20, 2014

Independently from each other, Richard Warburton in a presentation, and Mark Seemann in a blog post both talks about object-orientation and the SOLID design principles from a functional programming perspective.

Design Patterns for Cloud-Hosted Applications

by Jan Stenberg on  Feb 11, 2014

The patterns & practices group at Microsoft have released a guide with solutions and patterns suitable when implementing cloud-hosted applications. The guide contains ten guidance topics together with 24 design patterns targeting eight categories of problems covering common areas in cloud application development. Also included are ten sample applications to demonstrate the usage these patterns.

SOLID Design Principles for JavaScript

by Jan Stenberg on  Jan 22, 2014

The SOLID principles is one example from object oriented programming that can help you write good stable JavaScript code, Derick Bailey, an author and developer focusing on JavaScript, states in a recent presentation.