@mattwynne GOTO !Amsterdam !| !18th !June !2013
Hexagonal Rails
Refactoring Workshop
Tuesday, 18 June 13
Hexagonal Rails @mattwynne GOTO !Amsterdam !| !18th !June !2013 - - PowerPoint PPT Presentation
Refactoring Workshop Hexagonal Rails @mattwynne GOTO !Amsterdam !| !18th !June !2013 Tuesday, 18 June 13 Structure of this session: Installing things (first pass) Intro presentation Installing things (for real) Refactoring
@mattwynne GOTO !Amsterdam !| !18th !June !2013
Refactoring Workshop
Tuesday, 18 June 13Structure of this session:
Your domain model is not in your classes, it's in the communication patterns between the objects at runtime.
Tuesday, 18 June 13Your domain model is not in your classes, it's in the communication patterns between the objects at runtime. — Steve Freeman & Nat Price
Tuesday, 18 June 13Procedural code gets information then makes decisions. Object-oriented code tells objects to do things. — Alec Sharp, Smalltalk by Example
Tuesday, 18 June 13Procedural code gets information then makes decisions. Object-oriented code tells objects to do things. — Alec Sharp, Smalltalk by Example
Tell, don't ask
Tuesday, 18 June 13Core domain model cannot depend on the framework T e l l
j e c t s , a s k v a l u e s
Tuesday, 18 June 13Core domain model cannot depend on the framework C
e d
a i n m
e l c a n n
i n h e r i t f r
A c t i v e R e c
d F r a m e w
k c
m u n i c a t e s w i t h t h e c
e d
a i n v i a
A d a p t e r s
Tuesday, 18 June 13T e l l
j e c t s , a s k v a l u e s V i e w t e m p l a t e s s h
l d r e n d e r f r
i m m u t a b l e v a l u e s Y
c a n ' t s a y : i f ¡ u s e r . s a v e
Tuesday, 18 June 13References
http://www.threeriversinstitute.org/blog/?p=338 http://www.growing-object-oriented-software.com/ http://pragprog.com/articles/tell-dont-ask http://alistair.cockburn.us/Hexagonal+architecture http://devblog.avdi.org/2012/03/15/now-available-objects-on-rails/ http://mattwynne.net/category/hexagonal-rails/ http://www.wirfs-brock.com/PDFs/How%20Designs%20Differ.pdf http://nccastaff.bournemouth.ac.uk/jmacey/CA1/Papers/Responsibility-Driven%20Design.pdf
Tuesday, 18 June 13