Katas
Tic-Tac-Toe
Implement the game of Tic-Tac-Toe again, following all TDD practices plus object calisthenics rules. When you are finished, compare the solution you came up with first and the one using object calisthenics.
Tip
Try to make invalid state unrepresentable. Make the compiler work for you. If client code tries to pass invalid state to your code, the compiler should signal an error.
Game of Life
Implement Game of Life using object calisthenics plus everything we covered before.
For those not familiar with this game, here is a description adapted from Wikipedia: Conway's Game of Life, https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life.
The universe of Game of Life is an infinite, two-dimensional orthogonal grid of square cells, each of which is in one of two possible states: alive or dead (or populated and unpopulated, respectively). Every cell interacts with its eight neighbors, which are the cells that are horizontally, vertically, or diagonally...