Model: 2 layers in Higher-Level Programming

  1. implementation layer
  2. declarative layer

./resources/model-2-layers-in-higher-level-programming.resources/unknown_filename.png

a declarative layer emerges from continual “merciless” refactoring

(src: Book: Growing Object Oriented Software, Guided By Tests - Steve Freeman & Nat Pryce)