Keep It Loose Deep down we all know it’s important to componentise software systems. It allows different parts of the systems, the components, to change and evolve over time with minimal effect on other parts of the system. Designed and implemented correctly, components are loosely coupled , as well as highly cohesive . In practice this means that components can be changed, replaced, or evolved independently, without causing widespread change throughout the system. Components with responsibilities, and that naturally change together, are grouped together. Components have abstract interfaces and concrete implementations. Interfaces describe the features provided by a component and hide the concrete implementation. Users of components - usually other components - depend on the interface rather than the concrete implementation. If clients come to depend on concrete implementations - the internal details of a component - the benefits of componentisation are lost. The comp...
Persepolis Rising is set thirty years later and goes off in a different and uninteresting direction. It is of course possible that the entire book is setting up the story for the final two to be brilliant, but the story arc is only referenced in the epilogue. At the beginning the story makes the reader feel that there is no resisting the invading forces and initial resistance attempts fail and result in surrender. However, by far the best part of the book, other than the epilogue, is when Holden’s team find a way to hijack one of the invader’s ships. There are only two books to go, maybe it will pick up.