Directly integrated into the Mathematica language is a convenient symbolic options mechanism that allows arbitrary sequences of named parameters to be given to both built-in and user-defined functions.
opt->val — an option whose value is evaluated immediately
opt:>val — an option whose value is evaluated when it is used
SetOptions — set up default option values for a function
OptionsPattern — a pattern representing an arbitrary sequence of options
OptionValue — retrieve values of options while executing a function
FilterRules — filter particular options from a longer list
Options — get the options for a function or object with options