Refactoring to a S.O.L.I.D. Foundation

NOTE: the December meeting will be at The Navy League Building, 2300 Wilson Blvd, Arlington, very near the Court House Metro station.

December is the return of Stephen Bohlen. Steve delivered a great presentation to us last year on the topic of CQRS. Now he's back to present Refactoring to a S.O.L.I.D. Foundation.

Description

In this session we take a small, functional but tightly-coupled, software solution and improve its design using each of Robert C. Martin's S.O.L.I.D. principles as follows:

  • SRP: Single Responsibility Principle
  • OCP: Open-Close Principle
  • LSP: Liskov Substitution Principle
  • ISP: Interface Segregation Principle
  • DIP: Dependency Inversion Principle

Each principle is applied in sequence to the existing solution, making it possible for the attendee to observe the principle in relative isolation first while also evolving an understanding of how the principles all collaboratively reinforce each other when applied together. Before each principle is applied and the solution is refactored to introduce it, the attendee is presented with one or two simple PowerPoint slides to introduce the concept and provide some abstract understanding of its goals and benefits to OO programming. The principle is then applied to the existing solution, demonstrating the practical application of the principle to working software. At each step along the way, the existing solution (a simple console application) is re-executed, demonstrating that the overall behavior of the software solution has not been negatively impacted by the various refactorings.

Stephen Bohlen's Bio

Currently a Senior Technology Evangelist for Microsoft Corporation, Stephen brings his varied 20-plus-years of experience as a former practicing Architect, CAD Manager, IT Technologist, Software Engineer, CTO, and consultant to assist select Microsoft Partner organizations in their adoption of cutting-edge and pre-release Microsoft developer products and technologies. Stephen is also an active contributor to several Open-Source Software projects including NHibernate, Spring.NET, NDbUnit, and others. Active in the software development community, Stephen speaks publicly, blogs (semi-)regularly, and is the author of several popular screencast series focused on Agile and ALT.NET concepts and technologies including the widely-praised 15-part Summer of NHibernate video series introducing viewers to the popular open-source O/RM tool.  Stephen is also a founding/organizing member of the NYC ALT.NET user group as well as a co-organizer of the New York City Domain Driven Design User Group.  For the past several years, he has been the Chairperson of the annual New York City Code Camp event.  He is also a Microsoft MVP award recipient in Solution Architecture, ASP.NET, and Visual C#, a member of the ASP Insiders and the Visual C# Insiders, and formerly held the office of the Vice President for INETA, North America.

When: Tuesday Dec 10, 2013 at 6:30 pm (See Agenda Below)

Where: The Navy League Building, ground floor conference room
2300 Wilson Blvd., Arlington -- Near the Court House Metro

Cost: Free, thanks to our sponsors

Sponsors: Thank you to our main sponsor Excella Consulting for hosting the December meeting and for providing pizza and refreshments.

Agenda:
6:30 – 7:00 Arrive, mingle, eat pizza, network with others, and hear some brief announcements
7:00 – 8:30 Meeting/presentation/workshop/etc.
8:30 – 9:00 Q&A, raffle, and wrap-up

Can't make it this month?
We meet approximately every other month, the second Tuesday of the month. So if you can't make it this month, hopefully we'll see you at the next meetup. Also, if you have an idea, game, workshop, or story to share with the group, then please contact the organizer to setup a presentation for a future meeting.

Join or login to comment.

  • Stephen R.

    The video for this presentation is now on YouTube. http://youtu.be/huEEkx5P5Hs

    1 · January 11, 2014

    • Yury S.

      Thanks a lot!

      1 · January 11, 2014

  • Stephen R.

    Quick update: I have not yet uploaded the video of this meetup. I hope to get it posted before our next meeting.

    December 21, 2013

  • Michael W.

    Outstanding overview of refactoring fundamentals. These are things every developer needs to know presented in a way any developer could understand.

    December 12, 2013

  • Nevin H.

    Completely SOLID presentation despite the DRY material. We could maybe use this for JavaScript programming as well?

    December 11, 2013

  • Smik L.

    Great presentation! Thoroughly enjoyed Steve's presentation - he explained each of the SOLID principles extremely clearly and his supporting examples really helped solidify what each principle is trying to achieve. Thanks for coming down!

    Stephen (Ritchie), thanks for the giveaway at the end - much appreciated!

    December 11, 2013

  • Dean T.

    Stephen delivered a polished presentation on the SOLID principles. It was great to see the principles applied to refactor to a sample application; it really helped to see concrete examples.

    December 11, 2013

  • Jason M.

    Stephen gave a very engaging nuts-and-bolts presentation on the SOLID principles, how to apply them in existing code bases through careful refactoring, and the value it brings to do so. Definitely an excellent presentation for folks still "solidifying" their knowledge - I hope the video turns out for the folks who couldn't attend.

    1 · December 11, 2013

  • Carl G.

    Very engaging presentation. Liked the concrete code examples. Each of the letters could be a course in itself!

    1 · December 11, 2013

  • A former member
    A former member

    Sorry. Perhaps next time.

    December 10, 2013

  • Mignote

    Sorry can't make it had to work.

    December 10, 2013

  • Vasu P.

    First time to a meetup

    December 10, 2013

  • Stephen R.

    A couple of quick notes. First, we're at The Navy League building. Second, please take a moment to update your RSVP if you can't make it. Thanks!

    December 7, 2013

    • Stephen R.

      If you're brave enough to drive, there's street parking (free after 6 PM), public parking in the 2200 Clarendon Blvd lot that is free after 5 PM, and there is paid parking in the Navy League Building. For Metro riders, the Navy League Building is one block north and west of the Court House Metro (Orange Line) station.

      December 10, 2013

    • Jason M.

      OK... I take it back - you MAY have scared me off this time. Waiting to see how the weather looks here up north - there's some indication the afternoon might be clearer than the day was. Fingers crossed.

      December 10, 2013

  • chamila

    Sorry, have to miss this because of the weather

    December 10, 2013

  • Timothy H.

    Have to miss this because of a schedule conflict. Any chance it's going to be recorded or the slide deck available?

    December 9, 2013

    • Stephen R.

      Yes, the chances are good there'll be both ... I'll update everybody with the links once I have them.

      December 10, 2013

  • Vasu P.

    First time to a meetup

    December 10, 2013

    • Stephen R.

      Welcome -- looking forward to meeting.

      December 10, 2013

  • Dean T.

    I'm sorry I'll miss this one! I'll be going to the Fairfax Lean and Agile meetup instead. They overlap this month.

    December 8, 2013

Our Sponsors

People in this
Meetup are also in:

Create a Meetup Group and meet new people

Get started Learn more
Allison

Meetup has allowed me to meet people I wouldn't have met naturally - they're totally different than me.

Allison, started Women's Adventure Travel

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy