# Crosscutting Concept

**In short:** A crosscutting concept is a practice, pattern, or rule that applies in several parts of a system. arc42 section 8 documents each one once, so the system stays consistent.

## Explanation

Some decisions do not belong to one part of a system. They apply in many parts at once. Logging and security are typical examples. arc42 calls these **crosscutting concepts**. It describes them as practices, patterns, regulations, or solution ideas that often span several building blocks. (A building block is a part of the system, such as a module or component.)

**Where they live.** arc42 section 8 holds them. The arc42 overview describes this section as covering overarching, often very technical topics, such as technology choices and recurring patterns. The section grows as the team decides on more concepts.

**Why they matter.** Concepts give the architecture conceptual integrity. That means the system is consistent and homogeneous.

**Who reads them.** Many concepts are highly technical, so they are written for developers. Sometimes source code with a short explanation is enough. Long prose is not always needed.

**Choosing topics.** Treat section 8 as a checklist at first. Work iteratively and drop topics that do not matter for your system. To keep the section from becoming a melting pot, remove irrelevant concepts. Then group the rest.

**Links to other chapters.**
- The solution strategy (see the article *Solution Strategy*) stays brief. Section 8 explains the how and why of approaches. References connect the two.
- Building blocks should show which concepts they apply. One way is to tag a block with a concept name as a stereotype. A block can apply several concepts.

**Related idea.** Outside arc42, a cross-cutting concern is an aspect of a program that affects several modules. Logging and authentication are examples.

## Example

A team builds an online shop with three building blocks: Orders, Payments, and Catalog. All three need logging. Instead of explaining logging three times, the team writes one logging concept in section 8. It holds a short rule and a code snippet. Each of the three blocks is tagged with the concept name and points to it. The strategy chapter mentions logging in one line and links to the concept.

## Trade-offs

Writing a concept once keeps the system consistent. It also takes effort to choose which topics belong in section 8. If the team keeps irrelevant topics, the section becomes a melting pot. Source code with brief notes is quick to write. Some concepts may still need more explanation than code alone gives.

One concept applied in several building blocks

```mermaid
flowchart LR
  C["Concept: Logging (section 8)"]
  A[Orders] --> C
  B[Payments] --> C
  D[Catalog] --> C
```

## Checks

- Section 8 contains only concepts that are relevant to the system, and they are grouped.
- Building blocks name the crosscutting concepts they apply, for example through a stereotype tag.
- The solution strategy stays brief and references section 8 for the how and why of approaches.
- Technical concepts are written for developers, with source code and short explanations where that suffices.

## Related

- [arc42 Architecture Documentation Template](https://arc.fuet.ch/concepts/documentation/arc42-documentation-template.md)
- [Solution Strategy](https://arc.fuet.ch/concepts/documentation/arc42-solution-strategy.md)
- [arc42 Architecture Decisions](https://arc.fuet.ch/concepts/documentation/arc42-architecture-decisions.md)
- [Architectural Pattern](https://arc.fuet.ch/concepts/styles-patterns/architectural-pattern.md)
- [Architecture Style](https://arc.fuet.ch/concepts/styles-patterns/architectural-style.md)
- [Security](https://arc.fuet.ch/concepts/quality-attributes/security.md)
- [Separation of Concerns](https://arc.fuet.ch/concepts/principles/separation-of-concerns.md)
- [Component View](https://arc.fuet.ch/concepts/documentation/component-view.md)

## Sources

- [8 - Concepts | arc42 Documentation](https://docs.arc42.org/section-8/) — docs.arc42.org, accessed 2026-11-09
- [arc42 Template Overview - arc42](https://arc42.org/overview/) — arc42.org, accessed 2026-11-09
- [Question C-8-3: How shall I deal with the multitude of potentially crosscutting topics? | arc42 FAQ](https://faq.arc42.org/questions/C-8-3/) — faq.arc42.org, accessed 2026-11-09
- [Question C-8-2: Our arc42 section 8 (on concepts) is a melting pot of information we couldn't put elsewhere? How can we keep an overview? | arc42 FAQ](https://faq.arc42.org/questions/C-8-2/) — faq.arc42.org, accessed 2026-11-09
- [Question C-4-2: How to document the 'solution strategy'? | arc42 FAQ](https://faq.arc42.org/questions/C-4-2/) — faq.arc42.org, accessed 2026-11-09
- [Tip 8-11: (Hyper)Link between Building Blocks and Concepts! | arc42 Documentation](https://docs.arc42.org/tips/8-11/) — docs.arc42.org, accessed 2026-11-09
- [Cross-cutting concern - Wikipedia](https://en.wikipedia.org/wiki/Cross-cutting_concern) — en.wikipedia.org, accessed 2026-11-09
