We introduce a general class of statistical-mechanics models, taking values
in an abelian group, which includes examples of both spin and gauge models,
both ordered and disordered. The model is described by a set of ``variables''
and a set of ``interactions''. A Gibbs factor is associated to each variable
and to each interaction. We introduce a duality transformation for systems in
this class. The duality exchanges the abelian group with its dual, the Gibbs
factors with their Fourier transforms, and the interactions with the variables.
High (low) couplings in the interaction terms are mapped into low (high)
couplings in the one-body terms. The idea is that our class of systems extends
the one for which the classical procedure 'a la Kramers and Wannier holds, up
to include randomness into the pattern of interaction. We introduce and study
some physical examples: a random Gaussian Model, a random Potts-like model, and
a random variant of discrete scalar QED. We shortly describe the consequence of
duality for each example.Comment: 26 pages, 2 Postscript figure