Where your dog will love to learn!
Want a well-behaved dog all of the time, not just when you have a treat bag full of cheese? Get in the habit of using life rewards as a training strategy. Basically: Whatever your dog wants, make him work for it.
He wants to go for a walk? Ask for a sit before you snap on the leash.
He wants to go in the garden? Ask him for a high five before you open the door.
He wants you to throw the Frisbee? Rub his belly? Give him his dinner? Ask for whichever command you want to strengthen.
Other situations you can use as a reward: Giving out toys or chewies, play sessions, inviting Fido on the couch, taking off the leash at the beach, etc.
Don't ask for too much too soon. Wonderful as they are, dogs have lemon-sized brains---they don't learn as fast as we do and they need time to apply what they learn in one setting to other settings.
For example: If your dog has learned to sit before you open the front door, but still rushes through the back door, he's not being deliberately naughty. He doesn't realize that waiting applies to all doors. Practice waiting at different doors in different places at different times, and your dog will soon catch on.
If your dog jumps up on a visitor and the visitor pets your dog? That's rewarding your dog for jumping. If your dog drops a ball in front of you and barks, and you throw the ball? That's rewarding your dog for barking.
Any behavior that's rewarding for your dog---that is, gets him what he wants---he will try again.
Don't like the behavior? Don't reinforce it with attention (even yelling "no" is attention) of any kind. Ignore your dog until he's doing something you like. Sitting, for example. Or just keeping all four paws on the ground.
(Not sure how to make this approach work for your problem?
Contact us for help.)