From Design Patterns in Dynamic Languages by Peter Norvig. Design Strategies are what guide you to certain patterns, and certain implementations. They are more like proverbs than like templates. (Definition by comparing to Design Patterns.)
To insure that your program says what you mean:
Example of code that doesn't follow this, from a Lisp textbook:
defun count-swarms (monsters)
(apply '+ (mapcar
(lambda (monster)
#'(if (eql (type-of monster)
(
'swarm)1 0))
monsters)))
Example of code that follows the strategy. Note how clearer it is:
defun count-swarms (monsters)
(count 'swarm monsters :key #'type-of)) (