Skip to content

Instantly share code, notes, and snippets.

@saturnflyer
Created October 21, 2013 18:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save saturnflyer/7089002 to your computer and use it in GitHub Desktop.
Save saturnflyer/7089002 to your computer and use it in GitHub Desktop.
Introduction .....................................................................................................6
What This Is ..................................................................................................................8
What This Is Not ...........................................................................................................8
Lost In Translation...........................................................................................9
Our First Bugs..............................................................................................................10
Object Orientation ........................................................................................12
Where We Are..............................................................................................................12
Where We’ve Been .......................................................................................................20
Where We’re Going .....................................................................................................21
Being and Doing ............................................................................................23
Managing Change........................................................................................................26
Simplifying the Code....................................................................................................28
Wrong turn...................................................................................................................30
Objects in Context.........................................................................................34
Clearer Perspective.......................................................................................................37
Describing the System..................................................................................................38
Implementing Your System..........................................................................................41
All Set Up.....................................................................................................................45
Gazelles And Gazebos ...................................................................................47
Crossing the Use Chasm................................................................................50
Framing The Problem..................................................................................................50
Preparing The Context ................................................................................................54
Defining Success ..........................................................................................................57
Brainstorming ..............................................................................................................53
Setting Boundaries .......................................................................................................60
Screenplay In Action......................................................................................63
Finding the Expert .......................................................................................................63
Defining Interaction.....................................................................................................66
Responding to Rails.......................................................................................67
Considering Dependencies ..........................................................................................69
Framework Glue...........................................................................................................76
East-oriented Code ........................................................................................80
Directional Programming ............................................................................................82
Rules To Code By ........................................................................................................85
Functional Principles ...................................................................................................91
Understanding Context .................................................................................92
Systems and Responsibilities ........................................................................................94
Grouping Features .......................................................................................................95
Encapsulating Environments .......................................................................................99
Inheritance, Forwarding and Delegation.....................................................108
Simplicity of Inheritance ...........................................................................................108
Composition and Forwarding ....................................................................................110
Consultation is Not Delegation..................................................................................113
Adjusting to Limitations ..............................................................................118
Wrappers ....................................................................................................................119
Concerning Self..........................................................................................................129
Illusions in Code.........................................................................................................131
Drastic Changes...........................................................................................132
Object Collaboration...................................................................................133
Delegate Standard Library ........................................................................................133
Forwardable Standard Library...................................................................................139
ActiveSupport Delegation..........................................................................................142
Casting .......................................................................................................................143
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment