Skip to content

Instantly share code, notes, and snippets.

@joejag
Created September 10, 2012 21:12
Show Gist options
  • Save joejag/3693888 to your computer and use it in GitHub Desktop.
Save joejag/3693888 to your computer and use it in GitHub Desktop.
uncle bob: architecture the lost years -- notes
http://www.confreaks.com/videos/759-rubymidwest2011-keynote-architecture-the-lost-years
Cucumber is not slow, testing via the UI is.
The web is a dumb detail, it's just a pipe
Architecture on disk reflects the framework, not hte application (like a church/library blueprint)
Archiecture is all about intent
use case == user story (modern)
ControlObject/Interactor objects impl a use case, they have object that are entities
Boundry = inteface/protocol to talk to interactor
MVC was used in the small, just for widgets. Not in the large like current MVC
Model View Presenter addded onto Interactors/Boundires/Entities. Use a grid to represent the dumb views.
We often see the DB as the centre of the application, DB is a detail, something you don't want to know about.
EntityGateway: goes to DB.
Architecutre is the art of drawing lines.
A good arch allows major descions to be deferred
Rails is a detail, if you type rails you've lost the arch game
A good arch maximises the decisions not made
Writing tests after class is a waste of time
suite of tests are there so you can refactor. It means we are not afraid of our code.
Extremely dysfunctional to be scared of the thing you created. Then it will rot, and it'll slow everyone down, and you will blame management!
Keep tests fast by decoupling the slow bits
we have forgotten the thing we were on the verge of understanding, because of the web
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment