Share this project

Done

Share this project

Done
$1,317 pledged of $5,000 goal
backers
By Roy Toney, Jr.
$1,317 pledged of $5,000 goal
backers

About this project

Why Programming Design Patterns in Objective-C?

Whenever I begin to learn a new language, one of the first things I look for is how to integrate design patterns in that language.  Not only does it help me understand how the language is used, it allows me to get a leg up on crafting maintainable code in a fraction of the time.

Searching the web on this topic, I could not find one location that covered this topic fairly.  Granted, while there are lots of resources specific to iOS development (mostly either limiting their subject to cover the Model-View-Controller pattern or explain in their own version of a modeling language), there was no information covering Objective-C using UML (for those who want a standard modeling language and will be developing for more then i-devices.)

What This Book Isn't

While I will be using the patterns in the Design Patterns: Elements of Reusable Object-Oriented Software, 1994 book (also know as the Gang of Four or GoF book), this will not be a replacement for it.  I would suggest anyone who is interested in design patterns to go out immediately and purchase it (a must for all software engineers), since my book will only cover the nuisances of developing these patterns in Objective-C and will only touch the background of each pattern.

This book is also not for beginning programmers.  If you are familiar with either design patterns or Objective-C, you can use it to bridge the gap to the other subject, however, besides some general discussion of formatting of source and diagrams, there will not be any "Hello World" sections.  I will provide sources to turn to for beginning information on Objective-C and UML (but use the GoF book for an intro to design patterns.)

What This Book Is

The intent of this book is to cover, in a standard way, the commonly used design patterns used in software engineering.  Utilizing my over two decades of designing systems with them, I will provide an explanation on what they are, along with ways I've found to improve performance without losing the readability that makes large, complex project maintainable.  This material will apply to all varieties of Objective-C, not only Apple products (however, all design patterns are fair game.)

Along with the book, I will provide the class diagrams (updated to UML instead of OMT from the original GoF book) and frameworks with open-source code that you will be able to use as a starting point to implement the pattern, royalty free in any of your projects.  Although the frameworks will be developed in Xcode on my Mac (and can be used directly for Cocoa and Cocoa Touch), they may freely be modified to be used on other Objective-C platforms.  The frameworks will also be fully tested to work in iOS 5.1 and on the Mac Mountain Lion (and others, if requested and I have the platform).

Plans For The Funding

Backing this project will let me know that many of you in the community also feel that this sort of information is needed (and that I'm not the only one that wants to see well-designed code.)  It will also allow me to purchase services such as proofing, book layout, and  website development / hosting for the book's support site and source code repository.

Any funding above set goal will allow me to purchase additional tools to speed development of this and future titles.  It will also allow me to purchase additional development environments to port my frameworks to other platforms.

Support this project

  1. Select this reward

    Pledge $10 or more About $10

    A thank you email and your name listed in the acknowledgements section of the book and on the sponsor section of the website.

    Less
    Estimated delivery
    0 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  2. Select this reward

    Pledge $20 or more About $20

    A thank you email, your name listed in the acknowledgements section of the book and sponsor section of the website, plus a copy of the e-book and frameworks.

    Less
    Estimated delivery
    19 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  3. Select this reward

    Pledge $35 or more About $35

    A thank you email, your name listed in the acknowledgements section of the book as a reviewer and listed in the sponsor section of the website, a copy of the e-book and frameworks plus draft chapters of book with source code as they are completed.

    Less
    Estimated delivery
    18 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  4. Select this reward

    Pledge $100 or more About $100

    A thank you email, your name listed in the acknowledgements section of the book as a reviewer and listed in the sponsor section of the website, a copy of the e-book and frameworks plus draft chapters of book with source code as they are completed, and a signed copy of the printed book shipped to you.

    Less
    Estimated delivery
    3 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  5. Select this reward

    Pledge $250 or more About $250

    A thank you email, your name listed in the acknowledgements section of the book as a contributor and listed in the sponsor section of the website, a copy of the e-book and frameworks plus draft chapters of book with source code as they are completed, a signed copy of the printed book, and your choice of design pattern for one chapter of the book.

    Less
    Estimated delivery
    Limited 0 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  6. Select this reward

    Pledge $5,000 or more About $5,000

    A personal letter thanking you for single-handedly backing my project, a signed hardbound copy of the book including source code on CD-ROM, recognition in the book as being a gold level patron backer and listed on the sponsor section of the website, draft chapters to review as they are completed, your choice of design pattern for one chapter of the book, and personal assistance for integrating my frameworks into one of your projects.

    Less
    Estimated delivery
    Limited 0 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  7. Select this reward

    Pledge $10,000 About $10,000

    As that special someone who is willing to double my initial funding goal, I will reward you with the following: A personal letter thanking you for exceeding my expectations for the project, a signed hardbound copy of the book including source code on CD-ROM, recognition in the book as being a member of my "GoF" club,name listed on the sponsor section of the website, draft chapters to review as they are completed, your choice of design pattern for one chapter of the book, assistance for integrating my frameworks into one of your projects, and I will personally provide a one-day seminar at your site, customized to your needs (based on the book). All attendees to the training will get the training materials and copies of the eBook. As a final reward, you will receive all apps I write free for LIFE.

    Less
    Estimated delivery
    Limited 0 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.

Funding period

- (45 days)