Skip to main content

Reference and Selective Reading

Use lessons and independent practice first. The reading guide provides exact local locators for selected consulted excerpts and stopping evidence. The links below lead to book indexes, not promised chapter or exercise destinations. Full-book reading is optional and adds to the estimated module workload.

Source roles and topic map​

SourceTopics to locateEvidence to produce
Refactoring, Martin Fowler: book indexDefining refactoring; code smells; architecture and YAGNISeparate observation, hypothesis, candidate move and intentional behavior change
Good Code, Bad Code, Tom Long: book indexInterfaces, code contracts, inheritance, dependency injectionA consumer-owned role and a violating subtype example
Clean Code, Robert C. Martin: book indexNaming, functions, comments, classes and cohesionCompare a heuristic against observable behavior and a justified keep decision
Head First Design Patterns, Freeman and Robson: book indexLoose coupling, composition, OCP and SRPCompare two extension axes; leave the pattern catalogue for Modules 3–4
Object-Oriented Analysis, Design and Implementation, Dathan and Ramnath: book indexInformation hiding, cohesion, coupling and subtype reasoningState assumptions and a concrete client contract
Design Patterns, Gamma et al.: book indexDesign for change, delegation and interface inheritanceExplain a design cost without requiring a pattern implementation
Structure and Interpretation of Computer Programs: book indexAbstraction barriers and procedural abstractionIdentify the representation decision hidden from a caller

These are targeted reading assignments, not a claim that every listed book or its generated chapter mapping has received a full audit. The first two books supplied selected excerpts for this upgrade. Compare author viewpoints; a smell name or a book recommendation is not proof that a particular change is beneficial.

New lesson connections​

For state contracts, ownership and compatibility, use the design contracts, worked examples and three experiments. The reading guide also links primary material on behavioral subtyping, Java collection guarantees and YAGNI. Use sources to resolve a named gap, then close them and defend a new case.