CivilCode Playbook
  • The CivilCode Playbook
  • Method
    • Engagement
      • Qualification
      • Introductory Meeting
    • Onboarding
      • Roles and responsibilities
      • Product Owner Role
    • Discovery
    • Iteration Zero
      • Kickoff
    • Development
      • Develop an Object Model
      • Build a Feature List
  • Guides
    • Operations
      • Setup the VPN
      • Developer Setup Guide
      • Maintain Virtual Machine
    • Practices
      • Pair Programming Practice
      • Friday Practice
      • Project Retrospective
      • Daily Practices
  • Education
    • Trails
      • Elixir
      • Domain-Driven Design and CQRS/ES
      • Event Storming
      • Feature-Driven Development
      • Functional Programming
      • GraphQL
      • Object Design
      • Object Modeling
      • Specification by Example
      • Story Mapping
      • Testing
      • Type Classes
Powered by GitBook
On this page
  • Design principles
  • Where to put a method?
  • Resources
  1. Education
  2. Trails

Object Design

PreviousGraphQLNextObject Modeling

Last updated 6 years ago

Design principles

  • Commands down the stack, notifications up the stack

Where to put a method?

Take a feature statement and put the initiating method in the corresponding class.

<action> the <result> <by|for|of|to> a <moment-interval|role|description|part, place, thing>

Example: calculate the anticipated total of an RFQ.

We put the initiating method in the RFQ class.

Source: Java Modeling in Color with UML (pg 41)

Resources

East-oriented
Tell, Don't Ask