refactoring for domain driven design

Post on 22-Nov-2014

1.757 Views

Category:

Design

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

This talk goes from refactoring into some of the basics about Domain Driven Design.

TRANSCRIPT

Refactoring towardsDomain Driven Design

DAV ID BERL INER

The sources of all knowledge:

Who am I ?Developer at BetTech.I've been coding for a decade.@manatok

“…is a disciplined technique for restructuring an existing body of code,

altering its internal structure without changing its external behavior.…”

Martin Fowler

+ Adding features

+ Shortcuts and hacks

+ Team growth

= increased complexity

No thanks!We're

too busy.

TIME

CU

MU

LATI

VE F

UN

CTI

ON

ALIT

Y

NO DESIGN

GOOD DESIGN

DESIGN PAY-OFF LINE

So...how do we do it?

Refactoring requires prioritisation

Boyscout refactoring

What is considered “code litter”?

DomainDriven

Design

Ubiquitous language

Bounded context

Ubiquitous

Language

Define

model

with

Identify

model

with

Process

model

with

Express

model

with

MODEL DRIVEN DESIGN

Express

model

with

Isolate

domain

with

Express

state change

with

Bounded

ContextsServices Entities

Value

Objects

Layered

ArchitectureEvents

AN

TI-

CO

RR

UP

TIO

N L

AY

ER

AN

TI-

CO

RR

UP

TIO

N L

AY

ER

final thoughts

+ You don’t have to drink ALL the kool-aid to benefit

+ See the good side of a messy system

+ Be consistent

Thankyou

top related