introDDDuction

Robert Basic @robertbasic

About me

Our business is business support

Maintenance nightmare

Communication breakdown

I don't want

to talk to people

Programming is communication

Communication goes both ways

Good communication benefits everyone

We need to focus on the business

How do we improve communication?

Domain-Driven Design can help us

An approach to software development

Identify the core problem

A better understanding of the business

Gather knowledge about the domain

One team working towards one goal

The design never stops

Domain-Driven Design is not...

But it is hard to learn

The process that resulted in the current design

Strategic DDD

The domain

No simple business

Identify the core problem

The competitive advantage

Supporting the core domain

General

sub-domains

Don't write software for sub-domains

Domain models for the domain problem

Modeling in iterations

All models are wrong, but some are useful

Create useful models

Models contain and document knowledge

A language that fits the domain

All-encompassing language

Terms enter the ubiquitous language

Context matters

We need to set boundaries

A sub-domain has one bounded context

Improve the solution

Solving the wrong problem

A high level overview

Iterate this

Thank You!

Robert Basic @robertbasic

introDDDuction-v1

By Robert Basic

introDDDuction-v1

  • 585