Redirection works if what you are using to redirect has more importance to the dog than what they are reacting to. The OP also has a 3 YR old adult dog (a 3 yr old is not a puppy).
I do not like to correct dogs for over stimulating at other dogs or for dog aggression. I use obedience and correct for lack of obedience. I do do some of what Middle does in that I also use food (I don't like toys in this situation) to distract and keep the attention. If I see a potential problem, I ask the dog for some type of obedience and distract them with treats. If I lose the dog I then will correct them for lack of obedience. You will know when your dog is understanding when you find them starting to look to you for reward when they see another dog.
|