Java playground Anna Zawadzka Design patterns Singleton Arrakis - public final field Earth - static factory easy change to non-singleton Mars - enum provides serialization Builder Life equivalent to default parameters in Python Sources Effective Java: Programming Language Guide, Joshua Bloch A Guide to JUnit 5, Baeldung