Jump to the navigation menu

Actions, Commands or Services?

Today I started to write a new class and was trying to decide what to name it and what pattern I wanted to follow.

Option 1:

class StoreInformationDownloader {

  public function download() {
    // ...
  }
}

Option 2:

class DownloadStoreInformation {

  public function execute() {
    // ...
  }
}

Option 1 is a typical Service class.

Option 2 follows the Command or Action pattern.

Which would you choose?