InfoQ

Presentation

The Principles of Agile Design

Presented by Bob Martin on Jan 30, 2007 08:13 AM

Community
Agile
Topics
Design ,
Modeling
Tags
Refactoring ,
Agile2006 ,
OOP ,
Patterns ,
Presentations
Summary
Bob Martin of Object Mentor presents the first of his five principles of agile design. Beginning with an explanation of the real purpose of object-oriented design - the management of dependencies - Bob walks through a code example to illustrate how dependencies can be managed with abstractions, and that good designs are those in which high-level abstractions do not depend on low-level details.

Bio
"Uncle" Bob Martin helped create the Agile Manifesto, is a leading authority on Agile software development, and has authored books on Agile Programming, XP, UML, O-O Programming, and C++. Bob is the founder, CEO, and president of Object Mentor, whose professionals provide process improvement consulting, o-o design consulting, training, and development services. http://www.objectmentor.com/

About the conference

Related Sponsor

VersionOne is recognized by Agile practitioners as the leader in Agile project management tools. Companies such as Adobe, BBC, CNN, Dow, HP, IBM, Sony and 3M have turned to VersionOne to help deliver greater value to their customers.
Covered only one of five principles??? by Jean W Posted Feb 1, 2007 10:09 AM
Re: Covered only one of five principles??? by Vladimir Sanchez Posted Feb 6, 2007 4:47 PM
not complete or .... by Hans Stevens Posted May 22, 2007 6:32 AM
download by Ajay Jadhav Posted Jun 9, 2007 8:40 AM
Re: download by Angelica Martinez Posted Jul 3, 2009 9:05 PM
  1. Back to top

    Covered only one of five principles???

    Feb 1, 2007 10:09 AM by Jean W

    I was excited when I saw the summary of this video because I've been trying to get my co-workers to read about the five SOLID principles of OO design in the "Agile Software Development" book. I hoped I could email them a link to the video, and it would get them interested enough to read the book. Unfortunately, I don't think this video will serve that purpose. First, the principles don't start until minute 20. I can get around that problem by telling my co-workers to just jump ahead to minute 20. However, then the video covers only one of the five principles, the Single Responsibility Principle, before ending in the middle of the talk. (It introduces the 2nd principle, the Open/Closed Principle, but doesn't finish covering it.) The video says it had to end because the presentation shifted into tutorial mode, so I understand why it ended. But for my purposes, that makes it useless. I'm not goint to email around a link for a video that covers only one of five principles... I hope a version of this presentation can be made as a talk rather than tutorial, introducing all five principles in 20 to 30 minutes (with a strong preference for 20 minutes). The goal would not be in-depth understanding but rather offering just enough insight to entice people to read the book. That's the kind of link I would send around to my co-workers. Thanks!

  2. Back to top

    Re: Covered only one of five principles???

    Feb 6, 2007 4:47 PM by Vladimir Sanchez

    Visit Object Mentor's Principles of Object-Oriented Design Course page to obtain more information on the topics you're looking for: Here's a list of some of the PDF's:

  3. Open Closed Principle
  4. Liskov Substitution Principle
  5. Dependency Inversion Principle
  6. Interface Segregation Principle
  7. Packaging Principles
  8. Package Dependency Principle
  9. ...and a UML crash course. ;) I hope you find it useful. -Vlad P.S. I was also craving for more but can't afford the training now. |:(

  • Back to top

    not complete or ....

    May 22, 2007 6:32 AM by Hans Stevens

    I'd love to see the full version of this, did something go wrong with the upload or is this the only stuff that was recorded ?

  • Back to top

    download

    Jun 9, 2007 8:40 AM by Ajay Jadhav

    Can this video be downloaded? or available somewhere for download. Due to bandwidth problem I am not able to hear it properly. I also wanted to share this with my development team.

  • Back to top

    Re: download

    Jul 3, 2009 9:05 PM by Angelica Martinez

    I have the same problem. Could you please let me know if there is any other way to see the video? Thanks.

    Can this video be downloaded? or available somewhere for download. Due to bandwidth problem I am not able to hear it properly. I also wanted to share this with my development team.
    Can this video be downloaded? or available somewhere for download. Due to bandwidth problem I am not able to hear it properly. I also wanted to share this with my development team.
    Can this video be downloaded? or available somewhere for download. Due to bandwidth problem I am not able to hear it properly. I also wanted to share this with my development team.

  • Educational Content

    Bindings, Platforms, and Innovation

    This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

    Orchestrating Long Running Activities with JBoss / JBPM

    This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

    Neo4j - The Benefits of Graph Databases

    This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

    Realistic about Risk: Software development with Real Options

    This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

    Communication Flexibility Using Bindings

    This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

    Writing DSLs in Groovy

    After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

    Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

    IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

    Concurrent Programming with Microsoft F#

    Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.