You should denote which concepts are applied in certain building blocks. See tip 5-10.

Assign a unique name to important concepts

Give a name to your important concepts (the example below uses the rather strange name «X-service», we sincerely hope your naming is better than ours).

Intention-revealing names would be perfect:

  • «fyne-ui» - in case you use the Fyne framework to create multi-platform graphical user interfaces in Go…
  • «template-method-pattern» - in case your system uses the template method design pattern. For example, our open-source HTML Sanity Checker uses exactly this pattern as a crosscutting concept.

Use this name to mark building blocks

See the following diagram (taken from tip 5-10): It shows a few building blocks, all having the stereotype «X-service». This stereotype (the name between the French guillements «..») refers to a crosscutting concept that explains how elements of type X-service» shall be constructed, build or implemented.

building blocks diagram, lean approach

Building blocks might apply several concepts

A building block might have a graphical user interface (and implement the «our-special-GUI»), and at the same time store its persistent data in a schema-free noSQL database, following your «schema-free-persistence» concept.

(Thanx to Wolfgang Reimesch for proposing to add this tip here)