Artwork

Content provided by iteration podcast, John Jacob, and JP Sio - Web Developers. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by iteration podcast, John Jacob, and JP Sio - Web Developers or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://ppacc.player.fm/legal.
Player FM - Podcast App
Go offline with the Player FM app!

New Book: Practical Object Oriented Design

37:30
 
Share
 

Manage episode 222506092 series 1900125
Content provided by iteration podcast, John Jacob, and JP Sio - Web Developers. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by iteration podcast, John Jacob, and JP Sio - Web Developers or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://ppacc.player.fm/legal.

A weekly podcast about development and design through the lens of amazing books, chapter-by-chapter.

Pivot a bit: Less agnostic, more useful to just lean into the technologies we use every day for a while.

We’ll do our best to keep the information generally useful to all software developers.

Moving forward this is a Web Development Podcast covering Ruby on Rails, Javascript and React.

New book:

Practical Object-Oriented Design in Ruby by Sandi Metz

Also known as POODR

About the Author:

Sandi Metz: She is one of the foremost thought leaders in clean code.

If you want some amazing programming talks just look up Sandi Metz on YouTube.

About the book:

“The Complete Guide to Writing Maintainable, Manageable, Pleasing, and Powerful Object-Oriented Applications”

About Object-Oriented Design:

Object-oriented applications are made up of objects and the messages that pass between them. Messages will turn out to be the more important of the two, but in this brief introduction (and in the first few chapters of the book) the concepts will get equal weight.

“In a world of objects, new arrangements of behavior emerge naturally. You don’t have to explicitly write code for the spouse_steps_on_cat procedure, all you need is a spouse object that takes steps and a cat object that does not like being stepped on. Put these two objects into a room together and unanticipated combinations of behavior will appear.”

“Unfortunately, something will change. It always does. The customers didn’t know what they wanted, they didn’t say what they meant…. Even applications that are perfect in every way… change is ubiquitous and omnipresent”

WHY IS CHANGE SO HARD!?

Dependencies stand in the way of change

Object Oriented Design is about Managing Dependencies

“In the absence of design, unmanaged dependencies wreak havoc because objects know too much about one another.”

“Part of the difficulty of design is that every problem has two components. You must not only write code for the feature you plan to deliver today, you must also create code that is amenable to being changed later.”

Design Principles

  • SOLID - design:
    • Single Responsibility - Do one thing well.
    • Open-Closed - You should be able to extend without modifying. Consistent interface.
    • Liskov Substitution (Swap out code underneath methods) - squares and rectangles
    • Interface Segregation - specific interfaces
    • Dependency Inversion - High-level modules should not depend upon low-level modules. Both should depend upon abstractions.
  • DRY - Don’t Repeat Yourself
  • LoD - Law of Demeter - Talk only to closely related objects- the principle of least knowledge

Design Patterns

Service Objects, Factory, Adapter, Decorator - This book doesn’t cover these.

Big Up Front Design Pitfalls

Design takes time

Next Chapter - we really get our hands dirty

Sandi Metz Links:

https://www.youtube.com/watch?v=npOGOmkxuio&t=1841s

https://www.youtube.com/watch?v=29MAL8pJImQ

https://www.youtube.com/watch?v=8bZh5LMaSmE&t=1s

Pick:

JP: https://testingjavascript.com/

John: SOLID Design Patterns in Javascript

https://www.youtube.com/watch?v=GtZtQ2VFweA&feature=share

- - - - -

New Book: Practical Object-Oriented Design

  continue reading

78 episodes

Artwork

New Book: Practical Object Oriented Design

iteration

113 subscribers

published

iconShare
 
Manage episode 222506092 series 1900125
Content provided by iteration podcast, John Jacob, and JP Sio - Web Developers. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by iteration podcast, John Jacob, and JP Sio - Web Developers or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://ppacc.player.fm/legal.

A weekly podcast about development and design through the lens of amazing books, chapter-by-chapter.

Pivot a bit: Less agnostic, more useful to just lean into the technologies we use every day for a while.

We’ll do our best to keep the information generally useful to all software developers.

Moving forward this is a Web Development Podcast covering Ruby on Rails, Javascript and React.

New book:

Practical Object-Oriented Design in Ruby by Sandi Metz

Also known as POODR

About the Author:

Sandi Metz: She is one of the foremost thought leaders in clean code.

If you want some amazing programming talks just look up Sandi Metz on YouTube.

About the book:

“The Complete Guide to Writing Maintainable, Manageable, Pleasing, and Powerful Object-Oriented Applications”

About Object-Oriented Design:

Object-oriented applications are made up of objects and the messages that pass between them. Messages will turn out to be the more important of the two, but in this brief introduction (and in the first few chapters of the book) the concepts will get equal weight.

“In a world of objects, new arrangements of behavior emerge naturally. You don’t have to explicitly write code for the spouse_steps_on_cat procedure, all you need is a spouse object that takes steps and a cat object that does not like being stepped on. Put these two objects into a room together and unanticipated combinations of behavior will appear.”

“Unfortunately, something will change. It always does. The customers didn’t know what they wanted, they didn’t say what they meant…. Even applications that are perfect in every way… change is ubiquitous and omnipresent”

WHY IS CHANGE SO HARD!?

Dependencies stand in the way of change

Object Oriented Design is about Managing Dependencies

“In the absence of design, unmanaged dependencies wreak havoc because objects know too much about one another.”

“Part of the difficulty of design is that every problem has two components. You must not only write code for the feature you plan to deliver today, you must also create code that is amenable to being changed later.”

Design Principles

  • SOLID - design:
    • Single Responsibility - Do one thing well.
    • Open-Closed - You should be able to extend without modifying. Consistent interface.
    • Liskov Substitution (Swap out code underneath methods) - squares and rectangles
    • Interface Segregation - specific interfaces
    • Dependency Inversion - High-level modules should not depend upon low-level modules. Both should depend upon abstractions.
  • DRY - Don’t Repeat Yourself
  • LoD - Law of Demeter - Talk only to closely related objects- the principle of least knowledge

Design Patterns

Service Objects, Factory, Adapter, Decorator - This book doesn’t cover these.

Big Up Front Design Pitfalls

Design takes time

Next Chapter - we really get our hands dirty

Sandi Metz Links:

https://www.youtube.com/watch?v=npOGOmkxuio&t=1841s

https://www.youtube.com/watch?v=29MAL8pJImQ

https://www.youtube.com/watch?v=8bZh5LMaSmE&t=1s

Pick:

JP: https://testingjavascript.com/

John: SOLID Design Patterns in Javascript

https://www.youtube.com/watch?v=GtZtQ2VFweA&feature=share

- - - - -

New Book: Practical Object-Oriented Design

  continue reading

78 episodes

All episodes

×
 
Loading …

Welcome to Player FM!

Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.

 

Quick Reference Guide

Copyright 2025 | Privacy Policy | Terms of Service | | Copyright
Listen to this show while you explore
Play