$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Extreme Isolation (Lightning talk)
Search
chrismdp
September 15, 2013
Programming
1
160
Extreme Isolation (Lightning talk)
Slides for a lightning talk given at Barcuo 2013.
chrismdp
September 15, 2013
Tweet
Share
More Decks by chrismdp
See All by chrismdp
Why Rails is still relevant for startups in 2021
chrismdp
0
110
5 ways I screwed up Sol Trader's launch
chrismdp
0
170
Pathfinding Peril SPA 2016
chrismdp
0
210
Pathfinding Peril - BCS 2014
chrismdp
0
180
Separating allocation from code - NDC
chrismdp
0
150
Separating Allocation from Code
chrismdp
1
480
Extreme Isolation Workshop
chrismdp
1
130
Who's code is it anyway?
chrismdp
0
100
Leading software teams well
chrismdp
2
1.1k
Other Decks in Programming
See All in Programming
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
580
tparseでgo testの出力を見やすくする
utgwkk
2
280
Denoのセキュリティに関する仕組みの紹介 (toranoana.deno #23)
uki00a
0
160
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
39
26k
TestingOsaka6_Ozono
o3
0
170
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
320
AI Agent Dojo #4: watsonx Orchestrate ADK体験
oniak3ibm
PRO
0
110
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
960
愛される翻訳の秘訣
kishikawakatsumi
3
340
Deno Tunnel を使ってみた話
kamekyame
0
240
AIコーディングエージェント(NotebookLM)
kondai24
0
230
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
410
Featured
See All Featured
Done Done
chrislema
186
16k
Become a Pro
speakerdeck
PRO
31
5.7k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
30
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.2k
Bash Introduction
62gerente
615
210k
What does AI have to do with Human Rights?
axbom
PRO
0
1.9k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
110
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
260
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
330
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
510
Getting science done with accelerated Python computing platforms
jacobtomlinson
0
76
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
0
300
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