fbg, i think you've sort of hit the nail on the head when you say
"I actually think he
doesn't realise what he is doing."
I do think he knows in some way what he is doing. but what he is doing is not necessarily what you think he is doing iyswim?>
what he is doing is being a 4 yr old. he is learning to voice his opinion. he is learning that when YOU say "ds, you must do this" he has to do it and so he is trying it out on you, to see if you do what he says
He is making sense of the world, and trying things out on someone he knows can and will take it (ie you)
you know I think that 3-5 can be a really tough age for kids. they aren't babies any more (esp if they have younger siblings I think), but they aren't grown up enough to be abe to do the things older kids do.
They're stuck in this in-between place of wanting to be grown up, but also wanting you to mother them a lot.
You need to have a chat with him perhaps, when you're both calm, and just say that it's hard for people to listen to him or do what he is asking if he is asking rudely or if he isn't being polite.
Perhaps you and he could practice together nice ways of talking to people and asking for things, just to get him thinking about it?
I've done this with ds1, and despite seeming like he wasn't listening he does keep coming out with things like "saying please is a nice way to ask for something isn't it mummy?" and stuff li ke that, so it IS going in, even if it seems like it isn't.
just keep saying to him "i can't listen to you until you speak to me nicely" or "please ask me again in nicer way" or soemthing like that and he WILL get it eventually