Design Principles

Rules of thumb for structuring code that stays changeable.

3 subjects · 8 topics · 2 areas

Subjects covering this category

3 subjects
  • Subject · Beginner to Advanced

    Writing Java that compiles, runs, and models a problem with objects.

    • The Language
    • Objects
    • When Things Go Wrong
    15 topics · 131 cardsnot started
  • Subject · Intermediate to Advanced

    Holding data in the right Java collection, and transforming it without writing a loop.

    • Collections
    • Pipelines
    9 topics · 78 cardsnot started
  • Subject · Beginner to Advanced

    Wiring a Java application together with Spring's IoC container, instead of doing it by hand.

    • Why Spring Exists
    • The Bean and the Container
    • Wiring Beans Together
    4 topics · 25 cardsnot started
  • Getting your dependencies handed to you — by constructor, and by name when there's more than one candidate.

    7 cards · 5 qnot started
  • Why Spring hands you your dependencies instead of you building them yourself.

    5 cards · 4 qnot started
  • Keeping state where only its owner can reach it.

    8 cards · 5 qnot started

In Design Principles itself

5 topics
  • Three interfaces, many implementations, and which name to declare a variable with.

    8 cards · 5 qnot started
  • A return type that makes "there might be nothing" impossible to ignore.

    8 cards · 5 qnot started
  • One call, several bodies, and which one the JVM picks.

    9 cards · 5 qnot started
  • Naming a capability without saying how it is met.

    8 cards · 5 qnot started
  • Teaching Java an order, for one natural ordering and for many.

    9 cards · 5 qnot started