InfoQ Homepage Design Content on InfoQ
-
Udi Dahan on Reuse in Business Logic and Microservices
Reuse has been a watch word for almost everything that has happened in system development during the last thirty years, but reuse is like cyanide; in really small portions it can be healthy, using it too much it starts doing a lot of damage, Udi Dahan claimed in his presentation giving a different perspective on business logic at this year’s DDD Exchange conference in London.
-
DDD, Events and Microservices
To make microservices awesome Domain-Driven Design (DDD) is needed, the same mistakes made 5-10 years ago and solved by DDD are made again in the context of microservices, David Dawson claimed in his presentation at this year’s DDD Exchange conference in London.
-
DDD and Living Documentation
Creating documentation is boring, it's often obsolete and misleading but with a new mindset both your documentation and code can improve, Cyrille Martraire explained in a presentation showing how to create living documentation when working with Domain-Driven Design (DDD) at this year’s DDD Exchange conference in London.
-
Eric Evans on DDD, Microservices and Boundaries
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.
-
Managing Technical Debt Using Total Cost of Ownership
Total Cost of Ownership (TCO) can be used for investment decisions and financial benefit analysis. When applied to software it covers the initial development costs and subsequent maintenance costs until phase out of a product. TCO can support architectural decisions and management of technical debt.
-
Introducing IODA Architecture
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.
-
C# Futures: Method Contracts
Continuing our look at the future of C#, we now take a look at Proposal 119. This would add first class compiler and syntax support for method-level contracts.
-
Agile Architecture: Reversibility, Communication and Collaboration
At the inaugural O’Reilly Software Architecture conference, Molly Dishman and Martin Fowler discussed the role of architecture within agile software development. Key takeaways included; architects must remain ‘hands on’; architecture should focus on reducing irreversibility; adaptable documentation is essential; and architecture is a collaborative effort across the business and technical team.
-
Domain-Driven Design the Wrong Way
Applications claimed to have been built using Domain-Driven Design (DDD) in reality often consists of entities or DTOs separating data and logic together with services containing a mix of business and infrastructure logic, Gabriel Schenker states, noting that this also often applies early on to projects building new applications. Lack of knowledge is one major reason for this, Schenker believes.
-
Avoid a Canonical Data Model
Standardizing on common models for business objects that are exchanged within an enterprise, e.g. Customer, Order and Product together with the attributes and associations they have, might seem compelling but for Stefan Tilkov this creation of Canonical Data Models (CDMs) is a horrible idea which he strongly advices against.
-
Raffi Krikorian Provides Guidance for “Re-architecting on the Fly”
At the inaugural O’Reilly Software Architecture conference, Raffi Krikorian discussed strategies and tactics for technical leads and architects who are undertaking a system rewrite. Drawing on his experience as VP of Twitter Engineering, Krikorian discussed a twelve point plan for managing a re-architecting, including defining “done”, instrumenting existing systems, and enforcing code quality.
-
Clarifying Domain-Driven Design Using a Trading Application Example
Domain-Driven Design (DDD) is an approach to building software emphasizing collaboration between domain experts, developers and others involved in order to meet business objectives, Naresh Bhatia explains introducing the DDD base concepts exemplifying with Bullsfirst, an example system of medium complexity from the financial trading domain.
-
The Benefits of Microservices
Gene Kim (moderator), Gary Gruver, Andrew Phillips and Randy Shoup have discussed some of the benefits of microservices in a recent online panel.
-
Spring Forward Festival Celebrates Women in the Digital Industry
Spring Forward is a festival in Brighton in the UK that coincides with Women’s History Month and aims to celebrate and encourage women’s work in the digital sector.
-
Behaviour-Driven Development Combined with Domain-Driven Design
Behaviour-Driven Development (BDD) is very much about conversations and examples but there is a software design part that can be used to bring BDD and Domain-Driven Design (DDD) practices together, combining the conversional bits with a domain-focused design activity, Konstantin Kudryashov explains in a presentation.