Patterns in C
Minimum price
Suggested price

Patterns in C

Patterns, Idioms and Design Principles

About the Book

Dear reader, I'm pleased to announce my first book, Patterns in C. Patterns in C is a collection of idioms, design and architectural patterns in the C programming language. The book highlights the value of patterns. In the right context, patterns serve as an excellent tool for communication and reasoning. The book provides a C programmer with techniques to benefit from the growing body of knowledge captured in patterns.

The book focuses on implementation techniques, design principles and discussions of different trade-offs. Patterns in C includes implementations of well-known patterns from the seminal Design Patterns book (Gamma, et al). The book continues beyond Design Patterns and provides an in-depth discussion of the architectural pattern REACTOR from the Pattern-Oriented Software Architecture series (Buschmann, et al). In addition, I provide a collection of idioms specific to the C language.

Patterns in C is based on an article series I published in ACCU's magazine Cvu. In this new book I tried to keep much of the original content. To provide additional value the book offers new reflections as introductions to each pattern. These brand new introductions reflect some of the experience I've gained since the original publication. I hope to shed some new light on the patterns, the principles behind and their practical applicability.

I hope you enjoy it!

About the Author

Adam Tornhill
Adam Tornhill

Adam Tornhill is a programmer that combines degrees in engineering and psychology. He’s the founder of Empear AB where he designs tools for software analysis. He's also the author of Your Code as a Crime Scene, has written the popular Lisp for the Web tutorial and self-published a book on Patterns in C. His other interests include modern history, music and martial arts.

Table of Contents

  • Patterns in C
    • Patterns in software
    • The cognitive view
    • Patterns go C
    • About this book
    • Scope of the book
    • Pattern Categories
    • Sample code
    • About Adam Tornhill
    • Credits
  • The FIRST-CLASS ADT Pattern
    • Reflections on FIRST-CLASS ADT
    • Implementing the First-Class ADT Pattern
  • The STATE Pattern
    • Reflections on STATE
    • Implementing the STATE Pattern
  • The STRATEGY Pattern
    • Reflections on STRATEGY
    • Implementing STRATEGY
  • The OBSERVER Pattern
    • Reflections on OBSERVER
    • Implementing OBSERVER
  • The REACTOR Pattern
    • Reflections on REACTOR
    • Implementing REACTOR
  • Idiomatic Expressions
    • Reflections on the Idioms
    • Idiomatic Expressions in C
  • References

The Leanpub 60-day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $12 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub