Skip to content

Instantly share code, notes, and snippets.

@jhrr
Last active January 8, 2018 16:11
Show Gist options
  • Save jhrr/7368923 to your computer and use it in GitHub Desktop.
Save jhrr/7368923 to your computer and use it in GitHub Desktop.
Notes and links for ideas about Gary Bernhardt's "functional core, imperative shell"
http://www.infoq.com/presentations/Simple-Made-Easy
http://www.infoq.com/presentations/integration-tests-scam
http://blog.thecodewhisperer.com/2010/09/14/when-is-it-safe-to-introduce-test-doubles
http://youtu.be/yTkzNHF6rMs
http://pyvideo.org/video/1670/boundaries
http://skillsmatter.com/podcast/ajax-ria/enumerators
http://alistair.cockburn.us/Hexagonal+architecture
http://c2.com/cgi/wiki?PortsAndAdaptersArchitecture
http://www.confreaks.com/videos/977-goruco2012-hexagonal-rails
http://www.confreaks.com/videos/1255-rockymtnruby2012-to-mock-or-not-to-mock
http://vimeo.com/53154357
http://nccastaff.bournemouth.ac.uk/jmacey/CA1/Papers/Responsibility-Driven%20Design.pdf
https://github.com/raganwald/homoiconic/blob/master/2011/11/COMEFROM.md
http://pyvideo.org/video/310/pycon-2010--tests-and-testability---188
http://alistair.cockburn.us/Walking+skeleton
http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html
"Since none of the code written so far needed to know that a wall post
could have comments, he saw no value in cluttering up those files with
comment-handling code. Instead, he put the relationship between wall
posts and comments in the code that was responsible for doing
something with comments. His code was uniformly organized so that the
code dependencies were exactly isomorphic to the feature
dependencies."
"Your domain model is not in your classes, it's in the communication
patterns between the objects at runtime." growing-obj-oriented-software
"Both the user-side and the server-side problems actually are caused by
the same error in design and programming — the entanglement between the
business logic and the interaction with external entities. The asymmetry
to exploit is not that between "left" and "right" sides of the
application but between "inside" and "outside" of the application.
The rule to obey is that code pertaining to the "inside" part should
not leak into the "outside" part." Alexander Cockburn
"The facets of the hexagon represent different conversations that the
application is having with the outside world."
as a *pattern*
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment