/book

A Book about Pythonic Application Architecture Patterns for Managing Complexity. Cosmos is the Opposite of Chaos you see. O'R. wouldn't actually let us call it "Cosmic Python" tho.

Primary LanguagePythonOtherNOASSERTION

Book repo

Book Code
Book Build Status Code build status

Table of Contents

O'Reilly have generously said that we will be able to publish this book under a CC license, In the meantime, pull requests, typofixes, and more substantial feedback + suggestions are enthusiastically solicited.

Chapter
Preface
Introduction: Why do our designs go wrong?
Part 1 Intro
Chapter 1: Domain Model Build Status
Chapter 2: Repository Build Status
Chapter 3: Interlude: Abstractions
Chapter 4: Service Layer (and Flask API) Build Status
Chapter 5: TDD in High Gear and Low Gear Build Status
Chapter 6: Unit of Work Build Status
Chapter 7: Aggregates Build Status
Part 2 Intro
Chapter 8: Domain Events and a Simple Message Bus Build Status
Chapter 9: Going to Town on the MessageBus Build Status
Chapter 10: Commands Build Status
Chapter 11: External Events for Integration Build Status
Chapter 12: CQRS Build Status
Chapter 13: Dependency Injection Build Status
Epilogue: How do I get there from here?
Appendix A: Recap table
Appendix B: Project Structure Build Status
Appendix C: A major infrastructure change, made easy Build Status
Appendix D: Django Build Status
Appendix F: Validation

Below is just instructions for me and bob really.

Dependencies:

  • asciidoctor
  • Pygments (for syntax higlighting)
  • asciidoctor-diagram (to render images from the text sources in ./images)
gem install asciidoctor
python2 -m pip install --user pygments
gem install pygments.rb
gem install asciidoctor-diagram

Commands

make html  # builds local .html versions of each chapter
make test  # does a sanity-check of the code listings