I've had a lot of dogs in my life – cats too. Our current dog is a toy schnoodle. A schnoodle is a schnauzer-poodle mix. It's a popular mixed breed because both breads are hair dogs (less allergens and little to no shedding), and both dogs are great companion dogs. Our little dog is about the size of a toy poodle, for reference. He's small enough to be a lap dog, but not small enough to fit in the average purse. He's very affectionate, was easy to housebreak, highly trainable, and great company.
The only drawback (not really to my mind) he hates being alone and wants to be right next to you all the time.