It possible to get uglier OO behavior than normal OO pattern?
My cclass contain instance of receiver (to invoke command) but my receiver also contain list of command which been enacted on it, therefore I have circle composition/aggregation relationship between command and receiver? But this not seem not normal as command pattern usually contain instance of receiver and sometime receiver contain list of commands executed?
It’s only circular if you consider a Class Diagram. Class Diagrams often don’t have any sense when you do OOP, because you can have a single class do many different things. That’s why when doing OOP is more useful to work with Object Diagrams.
It’s also more clear when you create a Command Object (and class) for each command, instead of reusing some generic
everywhere