Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Extreme Isolation (Lightning talk)
Search
chrismdp
September 15, 2013
Programming
160
1
Share
Extreme Isolation (Lightning talk)
Slides for a lightning talk given at Barcuo 2013.
chrismdp
September 15, 2013
More Decks by chrismdp
See All by chrismdp
Why Rails is still relevant for startups in 2021
chrismdp
0
120
5 ways I screwed up Sol Trader's launch
chrismdp
0
190
Pathfinding Peril SPA 2016
chrismdp
0
220
Pathfinding Peril - BCS 2014
chrismdp
0
200
Separating allocation from code - NDC
chrismdp
0
160
Separating Allocation from Code
chrismdp
1
550
Extreme Isolation Workshop
chrismdp
1
140
Who's code is it anyway?
chrismdp
0
110
Leading software teams well
chrismdp
2
1.1k
Other Decks in Programming
See All in Programming
Feature Toggle は捨てやすく使おう
gennei
0
430
見せてもらおうか、 OpenSearchの性能とやらを!
shunta27
1
180
ファインチューニングせずメインコンペを解く方法
pokutuna
0
270
Nuxt Server Components
wattanx
0
250
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
530
Smarter Angular mit Transformers.js & Prompt API
christianliebel
PRO
1
120
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
160
感情を設計する
ichimichi
5
1.3k
PHPで TLSのプロトコルを実装してみるをもう一度しゃべりたい
higaki_program
0
180
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
320
The free-lunch guide to idea circularity
hollycummins
0
420
ローカルで稼働するAI エージェントを超えて / beyond-local-ai-agents
gawa
2
260
Featured
See All Featured
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
160
Scaling GitHub
holman
464
140k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
130
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
54k
Mobile First: as difficult as doing things right
swwweet
225
10k
A Soul's Torment
seathinner
6
2.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Ruling the World: When Life Gets Gamed
codingconduct
0
190
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
290
The Curse of the Amulet
leimatthew05
1
11k
Transcript
EXTREME ISOLATION @chrismdp Sunday, 15 September 13
PROBLEM Sunday, 15 September 13
baz bar foo quux eke baz bar foo quux eke
baz bar foo quux eke baz bar foo quu eke baz bar foo quux eke foo quux bar quux eke bar eke bar foo quux baz eke baz bar foo Sunday, 15 September 13
ACTOR MODEL OF CONCURRENCY Separating Arrangement and Work Sunday, 15
September 13
baz bar foo quux eke Sunday, 15 September 13
bar foo POROs baz calling code handles the arrangement objects
handle the work, don’t know about others objects can be called in any order POROs POROs Sunday, 15 September 13
HEXAGONAL RAILS Ports and Adaptors Sunday, 15 September 13
persistence web mailer view controller domain Sunday, 15 September 13
persistence web mailer view controller domain Sunday, 15 September 13
persistence web Plain Ruby representing your domain mailer Sunday, 15
September 13
EXTREME ISOLATION Sunday, 15 September 13
domain persistence Person Sunday, 15 September 13
Person Repository Person PORO Sunday, 15 September 13
Person Repository Person Sunday, 15 September 13
PersonRepository PersonValidator Person Web Handler Mongo web page request Request
Handler InvalidPerson UpdatePerson Sunday, 15 September 13
put “person/:slug” do |slug| updated_person = find(slug). with_description(params[:description]). with_topics([params[:topics]) queue
= PersonValidator.new.validate(updated_person) queue = PersonEditor.new(slug).pipe(queue) PersonMongoRepository.apply(queue) SinatraResponder.apply(queue) end Sunday, 15 September 13
BENEFITS Sunday, 15 September 13
EACH OBJECT IS INDEPENDENT Dealing with value objects on the
edges Sunday, 15 September 13
UpdatePerson Web Handler web page InvalidPerson Sunday, 15 September 13
PersonRepository UpdatePerson Mongo InvalidPerson Sunday, 15 September 13
IMMUTABLE VALUE OBJECTS Freeze is your friend Sunday, 15 September
13
EXAMPLE ON GITHUB http://github.com/thinkcodelearn/discover Sunday, 15 September 13
BLOG SERIES http://chrismdp.com Sunday, 15 September 13
THANKS @chrismdp Sunday, 15 September 13