Command and Strategy may look similar because you can use both to parameterize an object with some action. However, they have very different intents.
- Command Pattern can be used to convert any operation into an object. The operation’s parameters become fields of that object. The conversion lets you defer execution of the operation, queue it, store the history of commands, send commands to remote services, etc
- Strategy Pattern usually describes different ways of doing the same thing, letting you swap these algorithms within a single context class