RSS.Social

Mathias Verraes

follow: @[email protected]

Posts

No, Your Domains and Bounded Contexts Don’t Map 1 on 1

Two Hard Problems with Distributed Systems

Submitting talks to a tech conference Call for Papers

How to Fix a Bug: Tests, Hypotheses, Timeboxes

Critical Software Redesign: Creating the Environment for Large Scale Change

Surfacing Worldviews in Design

EventSourcing Testing Patterns

From Music to Languages and Models (DevJourney Podcast)

Parser Combinators (Full Stack Europe)

Bounded Contexts: Manage the Understandability of Your Systems (DDD Australia)

Software Design for Startups and Scaleups

Critically Engaging With Models (DDD Europe Keynote)

Design and Reality (Leanpub Podcast)

Critically Engaging With Models

Conway’s Law Doesn’t Apply to Rigid Designs

Domain-Driven Design Applied

Eventsourcing Patterns: Multi-temporal Events

Loss Aversion Heuristics

Design & Reality (VirtualDDD presentation)

Models and Metaphors

Bounded Context Podcast

What is Domain-Driven Design (DDD)

Design and Reality

Splitting a Domain Across Multiple Bounded Contexts

The “It's Just Like...” Heuristic

Simple Models, Scaffolding, Enabling Constraints

Tensions when Designing Evolvable Bounded Contexts

The Legacy Mirror Heuristic

The Wall of Technical Debt

Eventsourcing: State from Events or Events as State?

Patterns Are Not Defined by Their Implementation

Temporal Modelling

Emergent Contexts through Refinement

Messaging Patterns: Natural Language Message Names

Eventsourcing Patterns: Migration Events in a Ghost Context

Eventsourcing Patterns: Decision Tracking

Messaging Patterns: Throttling

Messaging Patterns: Ephemeral Events

Messaging Patterns: Change Detection Events

DDD and Messaging Architectures

Eventsourcing Patterns: Crypto-Shredding

Eventsourcing Patterns: Forgettable Payloads

Patterns for Decoupling in Distributed Systems: Segregated Event Layers

Patterns for Decoupling in Distributed Systems: Fat Event

Patterns for Decoupling in Distributed Systems: Explicit Public Events

Patterns for Decoupling in Distributed Systems: Passage of Time Event

Patterns for Decoupling in Distributed Systems: Summary Event

Patterns for Decoupling in Distributed Systems: Domain Query

Patterns for Decoupling in Distributed Systems: Completeness Guarantee

Design Heuristics

Emergent Boundaries

Messages Over Structure

On Being Explicit

Designed Stickiness

Lightning Talks

The Repair/Replace Heuristic for Legacy Software

Property-based testing

Code Reviews and Blame Culture

Type Safety and Money

Towards Modelling Processes

Context Mapping: Life Expectancy

Event Storming, Storytelling, Visualisations

Form, Command, and Model Validation

Messaging Flavours

Economy of Tests

How Much Testing is Too Much?

Let It Crash

Higher Order Programming

Modelling Heuristics

Domain Events

Object Reorientation

“Software design is just theory”

Small Uncontrolled Experiments (revisited)

Objects as Contracts for Behaviour

Decoupling the Model from the Framework

Sterile Estimation

Resolving Feature Envy in the Domain

DRY is about Knowledge

Event Storming: on Fake Domains and Happy Paths

Managed Technical Debt (revisited)

Information Overload

The Cost of Estimation

When to Use Static Methods

Named Constructors in PHP

Why Domain-Driven Design Matters

A Functional Foundation for CQRS/ES

Final Classes: Open for Extension, Closed for Inheritance

Small Uncontrolled Experiments

Practical Event Sourcing

Religiously RESTful

Buzzword-free Bounded Contexts

Domain-Driven Design: Bounded Contexts, Modelling

Bandwidth and Context Mapping

Build for Failure

The Henry Ford Fallacy

Domain-Driven Design is Linguistic

Fighting Bottlenecks with CQRS

Value Objects and User Interfaces

Pre-merge Code Reviews

Verbs in Class Names

Sensible Interfaces

Extract Till You Drop

The DDDBE Modellathon

Antifragile - Things That Gain from Disorder

Facilitating Event Storming

Switch - How to Change Things When Change Is Hard

Systemantics - The Systems Bible

Managed Technical Debt

Unbreakable Domain Models

Decoupling (Symfony2) Forms from Entities

CRUD is an antipattern

Casting Value Objects to strings

How to read more books

Code Folder Structure

Coping with Change in Software Development

Lazy Loading in PHP with Closures

Ubiquitous Language

Beautiful code

Representing Money in PHP, Fowler-style

Random thoughts on using Git

Accessing private properties from other instances

Keep your controllers thin with Doctrine2

Interface discovery with PHPUnit’s Mock objects