Programming In The Large

Let's add a feature to our Blackjack simulation: analysis of results. We have several paths to implement this added feature. There are two dimensions to our considerations, leading to a large number of combinations. One dimension of our consideration is how to design the new features:

  • Add a function
  • Use the Command design pattern

The other dimension is how to package the new features:

  • Write a new top-level script file. We would have new commands based on files with names such as simulate.py and analyze.py.
  • Add a parameter to an application that allows one script to perform the simulation or analysis. We would have commands that look like app.py simulate and app.py analyze.

All four combinations are sensible ways to implement ...

Get Mastering Object-oriented Python now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.