My DF was like this when I was growing up - he would display exactly the same types of behavior (Particularly in restaurants or with shop assistants, but also in the home with minor infringements from my brother, myself or my DM).
My DM excused it as a mental health issue, caused by childhood circumstances. My DF did not have any treatment or formal diagnosis. It was just 'accepted' as reality.
I accepted this throughout my childhood and adolescence but I eventually worked out that he COULD control it. (He never lost his temper with someone who was a physical challenge to him, for example. He never got physical with people although he would throw things / smash doors etc). And the fact that he knew (And believe me - HE KNEW) that his behavior was unacceptable, he never pro-actively sought any medical or psychological help. I still can't forgive him for that.
He eventually was forced to accept medical assistance after a particularly bad episode. He never followed up on it or carried on with any counselling although he takes a mild mood stabilizing medication now. The dosage is never reviewed - it is just repeatedly prescribed with no questions asked (They are not in the UK) He is slightly better now, but we still need to watch closely for any triggers that could set him off.
As an adult - I have had to offer many ultimatums, particularly when he started behaving in 'his' way with my DH. DF listens for a while but then soon has one of his 'moods' for another reason.
If I am honest with myself, it is one of the reasons why I am happily living abroad and out of his influence on myself or my family.
I have also had counseling myself to come to terms with my childhood and the way my DF behaved. I carry the emotional damage with me still - the desperate need to please, the fear of making mistakes or saying no to anyone.
I know I have painted a negative picture here but I did not want to gloss over the effect that his behavior could have on your DC. So much of my childhood issues & my mother's unhappiness now could have been resolved by getting DF help earlier on.