addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscontroller-playcrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgooglegroupshelp-with-circleimageimagesinstagramFill 1light-bulblinklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1ShapeoutlookpersonJoin Group on CardStartprice-ribbonprintShapeShapeShapeShapeImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruserwarningyahoo

Software Design Patterns for iOS

Our speaker this month is David Shane, a long-time member of our group. David is a highly experienced mobile architect and developer who has worked with companies like JP Morgan, MetLife, Goldman Sachs, Morgan Stanley, TED, and Digitas. After every meetup presentation, David is known for always having an insightful thought or two to contribute. We're thrilled to have David agree to give a presentation of his own!

We're hosted this month at a new location, Conde Nast at 4 Times Square, thanks to another longstanding member of our group, Michael Prenez-Isbell.

David will be covering software design patterns that will be of interest to developers of all experience levels, but don't expect a plain vanilla Cocoa 101 MVC rundown. David's talk will be on the advanced side, so get ready to put your thinking caps on!

Here are some of the patterns that David will present:
- Proxy (MVC)
- Facade
- Abstract Factory
- Factory Method
- Lazy Initialization
- Iterator
- Data Hub
- Singleton
- Object Pool (UITableViewCell: prepareForReuse and dequeueCell)
- Blackboard (Facade over NSNotificationCenter)

To demonstrate these patterns, David has chosen some interesting examples:
- Generating a PDF using Core Graphics in iOS
- Fast Enumeration and Encapsulation
- Inheritance and Polymorphism
- UIWebView layers and using delegation and the main thread
- Clang warning for CGContectRef because of 'create' naming convention

For a smooth check in, please make sure to
-- Make sure your settings show your real first AND last name in your RSVP.
-- Bring government photo ID (driver's license or passport) to check in at the event.
-- The meetup starts at 7 pm. Please arrive around 6:45 to allow for check-in time in the building lobby. Lobby check-in will stay open until about 7:15 pm for latecomers.


Here is a link to David's presentation page. You can find his code here now, and his slides will be posted as well, the day after the presentation.


Larry Legend

Join or login to comment.

  • Dan B.

    David Shane is obviously an intensely smart talented guy, but I have to admit I was almost always totally lost during his presentation last night (and I consider myself to be a fairly experienced iOS developer). Maybe I was just off my game, who knows. I think I would have liked it a lot more though if we could have dived deep into a couple design patterns, instead of breezing through 7 or 8. Or, if we are going to breeze through 7 or 8, just leave the code out entirely and focus on the concepts. We were looking at too little code, and doing so too quickly, and the result was just kind of a blur for me.

    April 27, 2012

  • Dan B.

    Also Peter, I am not the one you talked to last night, but I built the backend of Emotish entirely with Parse. It's a fantastic way to quickly prototype / execute an idea. I'd be happy to tell you more about my experience working with the platform.

    April 27, 2012

  • Dan B.

    This is a shameless self-promotional plug. I recently released a new app "Emotish" with the startup I work at. It's free, so if you have a minute, download it, check it out, let me know what you think. It's very much still a minimum viable product / proof of concept, but we'll be building on it quickly.

    April 27, 2012

  • A former member
    A former member

    I wish I could have followed it more: gee, Objective C is complicated.

    But I would have asked David Shane: you did all this code just to print out the screens on paper? How long did it take you? And what about errors (which as someone pointed out in a class I took: 90% of my time is spent debugging)?

    April 27, 2012

  • Billy T.

    Don't take me wrong, Patterns aren't an easy subject to explain and I acknowledge David is an amazing dev, but the video beam didn't help too much... I would enjoy more if we attack only one or two patterns with an example from zero and not navigating thru already build examples.

    April 27, 2012

  • Andre N.

    Examples were too convoluted

    April 27, 2012

  • Ryan P.

    Meetup shows 130 attending and 20 spots left, yet I'm still waitlisted?

    April 26, 2012

  • Omar I.

    Hey, we're bunch of entrepenures, launching many mega projects, looking for co founders, partners, friends etc.. see u all there...

    April 25, 2012

  • Larry L.

    Hi everyone, the list is closed for tomorrow. Some folks will change their RSVP between now and the event, making it look like spots are opening up, but we've already overbooked the list to account for this.

    However, David's code and slides will be online, and no guarantees, but we are looking into filming the talk tomorrow as well.

    2 · April 25, 2012

  • Jossua H.

    How will those on the waiting list know if a spot has opened up?

    April 25, 2012

  • Matthew

    Possible to get a late RSVP?

    April 25, 2012

  • A former member
    A former member

    Is there any chance of a video recording being available to non-attendees after the event? I can't make it and would really like to hear about a few of these patterns and examples. Thanks.

    1 · April 18, 2012

People in this
Meetup are also in:

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