BurningTheSpinningWheels is an attempt to solve a problem not by addressing the cause of the problem head-on, but instead by preventing the problem's preconditions. If you can assuredly prevent the preconditions (and the preconditions are indeed necessary), this technique works; otherwise the problem is likely to arise. Some consider this an AntiPattern (and prefer DefenseInDepth), others think this is an acceptable way to prevent a failure from occurring. ---- In the fairy tale ''Sleeping Beauty'', a curse is placed on the infant daughter of the King by a fairy offended at a perceived slight. The curse is, of course, that the young princess is doomed to prick her finger on the spindle of a spinning wheel, causing her death. Another fairy present when this curse is placed uses her own magic to weaken the curse so that should this occur, the princess will only sleep until receiving TrueLovesFirstKiss, rather than dying. The King, in a (futile) attempt to prevent the curse from being carried out, orders all the spinning wheels in his kingdom to be burned - hence the name of this page. (In the Disney version of ''Sleeping Beauty'', the evil fairy in question simply conjures up a spinning wheel magically at the appropriate time; in some of the other versions in the literature, the princess encounters a spinning wheel which was overlooked and thus not destroyed. In all versions of the story, however, the princess's finger does ultimately get pricked by the spindle, causing a rather lengthy nap). ''"And I would have gotten away with it if it wasn't for those pesky fairies!" -- King'' ''"They're '''hopeless'''! A disgrace to the forces of evil!" -- Maleficent, upon discovering that her henchmen have spent the last 16 years looking for a baby; apparently unaware that the aforementioned cursed princess is now a nubile young woman... the Disney version again.'' ---- Examples from real world projects include: * If the entry of a specific value will cause software to misbehave, write the UI so it won't accept that value. ---- See also DefenseInDepth, DesignByContract