IT-lexicon › Programmeren › Newtype-patroon

Newtype-patroon

Programmeren Svenska → Bijgewerkt: 2026-10-03

Een bestaand type verpakken in een nieuw, eigen type zonder runtime-overhead, zodat de compiler UserId(u64) van OrderId(u64) kan onderscheiden.

Haskell-syntaxis: newtype UserId = UserId Int. Rust: struct UserId(u64); (tuple struct). Anders dan een type alias (type UserId = u64), want de compiler maakt een nieuw type aan: een order-id kan niet per ongeluk worden meegegeven waar een gebruikers-id wordt verwacht. Kan eigen trait- of typeclass-implementaties krijgen. Zonder kosten: compileert naar dezelfde code als de kale primitief. Standaardtechniek in Rust, Haskell en F# voor domeinmodellering en tegen ‘primitive obsession’.

← Terug naar het lexicon