Index

Free, with Google

Keep going, free.

A free account opens lessons 2 and 3 of every track, 33 more lessons, and keeps your progress and review cards on every device.

Start free with Google

Launch price

Open everything on chalk.

Every lesson, board, video, lab and paper, and the full review decks. Yearly is $39/year, or $19.50 for your first year with LAUNCH50, ends 1 Nov, 18:30 UTC.

See plansStart free instead

Module 08 · System Design · Low-level design: classes, properly

Nouns and verbs (from requirements to classes)

Nouns and Verbs
Nouns and Verbs · Open board

The paragraph, the two pens, and the four classes that came out of it.

Before you start. Nothing but reading a little Python. Where a lesson elsewhere on this site drew boxes and arrows between whole programs, this track goes inside one box and asks what the pieces of code in it should be.

An interview round is one hour with one interviewer on one kind of question. A system design round asks you to draw boxes for whole services and the arrows between them. A low-level design round asks you to write the classes inside one box.

Lesson 35 of 73 in System Design

The rest of this lesson is part of a plan.

A plan opens every lesson, board, video, lab and paper on chalk. Yearly is $39/year, or $19.50 for your first year with LAUNCH50, ends 1 Nov, 18:30 UTC.

See plansAlready a member? Sign in

Or start free: a free account opens lessons 2 and 3 of every track.

In this lesson

  • 1983: Abbott’s method, nouns become things and verbs become actions
  • The page: a requirement, with the numbers left in
  • The first pass: circle the nouns, then throw most of them away
  • The second pass: the verbs, and the noun hiding inside one
  • Responsibility: every rule needs exactly one owner
  • Relationship: who holds whom, and how many

Terms it explains: low-level design, class, object, fields, behaviours, requirement, entity, state, borrows, responsibility, relationship, reference.

Review System Design