Skip to content

Details

Responsibility Driven Design in Ruby [1h] - Andy Maleh - Senior Software Engineer - Lexop (acquired by Eltropy)

Event Timeline:

  • Doors open at 6:30pm at Anticafe Coworking Space (294 Saint-Catherine St W, 3rd floor, Montreal, Quebec H2X 2A1): the event costs about $10 that covers drinks like coffee/tea and snacks like chips/pretzels/cookies; sign in on Anticafe's computer when you enter and pay Anticafe for your stay when you leave; after signing in, go to the 3rd floor, turn left, and then walk to the presentation room with the projector screen.
  • Talk starts at 7:00pm at Anticafe.
  • Networking time starts at 8:00pm next door at NYKS Bar (1250 Rue de Bleury, Montréal, QC H3B 2W4).

Talk Description:

Rebecca Wirfs-Brock came up with Responsibility-Driven Design in 1989 as a reaction to Data-Driven Design's breaking of code encapsulation that increased code coupling and decreased software maintainability. Responsibility-Driven Design helped divide and conquer complexity in code by thinking of its work as responsibilities that can be assigned to highly cohesive objects, hiding algorithmic details in abstractions that make it easier to reason about the behavior of an application at a high level.

Alistair Cockburn came up with Responsibility Based Modeling in 1999, which is a way of doing Responsibility-Driven Design starting from High Level Business Requirements in the form of Use Cases.

Craig Larman identified a set of general responsibility assignment software patterns (GRASP patterns) in 2004 that helped developers balance trade-offs among alternative designs to ensure reaching the Object Oriented structure that best fit their needs.

This talk will cover all three approaches, providing a consolidated process for Object Oriented Design in Ruby that begins with Business Use Cases and ends with Objects. Exercises and Ruby code examples will help explain and demonstrate the covered Software Design approaches.

Speaker Bio:

Andy Maleh is a Fukuoka Ruby 2022 Special Award winner for Glimmer DSL for LibUI (Prerequisite-Free Ruby Desktop Development Cross-Platform Native GUI Library) after getting judged by Matz (the creator of Ruby). He works at Lexop as a Senior Software Engineer. Andy has spoken at various Software Conferences, including RubyConf, RailsConf, and MountainWest RubyConf. He has a Master's degree in Software Engineering from DePaul University, Chicago, and a Bachelor's degree in Computer Science from McGill University, Montreal. In his free time, Andy drums in a rock band, curls/plays softball in a league, and snowboards. He is also a big sports fan of the Montreal Canadiens, Montreal Alouettes, Montreal Alliance, and Boston Red Sox.

If you have a Ruby talk idea you would like to present at a future Montreal.rb meetup, please contact the organizer (Andy Maleh) to get your talk scheduled in an available future meetup month (it is possible to bump talks by organizers of the group into later months to take one of their month slots for your talk). You can also contact the organizer if your company is interested in hosting a future Montreal.rb meetup at their Montreal office. Note that speakers must present in-person in Montreal because the goal of the meetup is to encourage more in-person networking and socialization around Ruby Software Engineering topics with maximum communication bandwidth. Talks are recorded and posted on the @montreal-rb YouTube Channel if talk speakers agree.

Events in Montréal, QC
Ruby
Software Development

Members are also interested in