Instead of dividing mutations into two classes, dominant vs. recessive, consider categorizing them into classes based on how the mutation affects the gene--or the gene product. This yields loss-of-function (lf) alleles, that reduce the activity of the gene, or its product, and gain-of-function (gf) alleles that act as if they somehow increase the activity of the gene, or its product.
The logic underlying this classification was described in this classic reference: Muller, H. J. 1932. Further studies on the nature and causes of gene mutations. Proceedings of the 6th International Congress of Genetics, pp. 213–255. Since this was before DNA had been shown to be the genetic material his arguments are based solely on the phenotype of animals carrying various combinations of chromosomes. In particular he relies on genetic duplications and deficiencies (or deletions). In this nomenclature + indicates a chromosome carrying a wild-type (wt) allele of the gene, and m indicates a chromosome carrying a mutant allele of the gene. So if an +/m animal appears Wild-Type then that allele is recessive. Similarly, if an +/m animal has a Mutant phenotype then the allele is dominant.
There are two types of lf alleles:
a hypomorph is a partial reduction in function and retains some residual gene function (e.g., a weak missense mutation, or a temperature-sensitive (ts) mutation. A hypomorph is recessive to a wt allele.
an amorph is what we would call a true genetic and molecular null allele, a complete knockout of the gene, where there is no measurable function left (e.g., a nonsense mutation early in the protein coding region, or a small deletion that only removes a single gene). Amorphs are normally recessive to a wt allele (but see below for an exception)
There are three types of gf alleles:
a hypermorph that elevates the level of the wt gene function (e.g., a promoter mutation that removes a negative regulatory site, leading to increased expression). Hypermorphs are dominant.
an antimorph, or so-called dominant-negative (dn) allele that produces a mutant gene product that somehow interferes with the wt gene product (think poison product as one model). Antimorphs are always dominant over wt.
a neomorph, an allele the results in a completely new gene function (e.g., if a glycolytic enzyme acquired sequence-specific DNA-binding activity, perhaps from a gene fusion event(?)). Neomorphic alleles are extremely rare and almost always dominant over wt.
So we have a straightforward mapping of lf alleles to recessive phenotypes, and gf alleles to dominant phenotypes. However there is an important exception to this simple scheme for genes that are dose-sensitive, or haploinsufficient. These are dominant lf alleles. For example, when halving the level of the gene product causes a mutant phenotype: +/null. Some well-known examples from the developmental genetics of model organisms are the Ubx gene, and the Notch gene from D. melanogaster.
Further discussion of these terms can also be found in Wikipedia