Think about Loose Coupling  
PerlMonks 
Re^3: On Quality (0,1,N)by tye (Sage) 
on Feb 24, 2006 at 07:30 UTC ( #532473=note: print w/replies, xml )  Need Help?? 
It means, "avoid arbitrary limits", but the concreteness of "0, 1, or unlimited" is a useful benchmark. There are sometimes fundamental reasons for imposing limitations like "there can be at most one X per Y" (0 or 1), "there must always be exactly one X for each Y" (1), "no Y can ever have an X" (0). While limitations like "a Y can never have more than 5 Xs" are most often just arbitrary limits. Arbitrary limits very often come back to bite you. So it is good to have at least some motivation to do the extra (or perhaps just "different") work upfront to eliminate such arbitrary restrictions. So being at least suspicious of any "at most N" (for N > 1) restrictions is a good habit. Of course, sometimes 0 or 1 limits are actually arbitrary and (rarely) specific finite limits above 1 are not arbitrary. But the "0, 1, or unlimited" test is very useful.  tye
In Section
Meditations

