solutions to common software problems in a certain context.
models of good solutions to common design problems
nonvolatile. examples include local storage (hard drive), removable storage (flash drive), cloud storage. slower than ram. for storage between computer power cycles.