Chapter | Nickname | Class | Description |
1 | UseCase Novice | eis.chapter1.UseCase eis.chapter1.novice.Container | Use case Naive implementation |
2 | Reference | eis.chapter2.reference.Container | Baseline implementation |
3 | Speed1 Speed2 Speed3 | eis.chapter3.speed1.Container eis.chapter3.speed2.Container eis.chapter3.speed3.Container | First addWater with centralized set Fast connectTo with circular list Best balance with parent-pointer tree |
4 | Memory1 Memory2 Memory3 Memory4 | eis.chapter4.memory1.Container eis.chapter4.memory2.Container eis.chapter4.memory3.Container eis.chapter4.memory4.Container | Based on ArrayList Based on plain array Object-less API Object-less API, 4 bytes per container |
5 | Contracts Invariants | eis.chapter5.contracts.Container eis.chapter5.invariants.Container | Methods check their contract Methods check class invariants |
6 | UnitTests Testable | eis.chapter6.UnitTests eis.chapter6.testable.Container | Test suite for Reference Optimized for testability |
7 | Readable | eis.chapter7.readable.Container | Optimized for readability |
8 | ThreadSave Immutable | eis.chapter8.threadsafe.Container eis.chapter8.threadsafe.ContainerSystem | Thread-safe Immutable and object-less |
9 | — — — Generic | eis.chapter9.generic.ContainerLike eis.chapter9.generic.Attribute eis.chapter9.generic.UnionFindNode eis.chapter9.generic.Container | Container interface Container attribute interface Implementation of ContainerLike Concrete container based on UnionFindNode |
App A | Golfing — | eis.appendixa.golfing.Container eis.appendixa.nowhitespace.Container | Succinct Really succinct |
App B | Ultimate | eis.appendixb.ultimate.Container | Fast, readable, reliable |
3.129.23.30