Sto cercando di evitare modelli di dominio anemici perché si dice che sia un anti-pattern. Ma così facendo lascia i miei servizi per duplicare parte della logica.
class User
{
public $status;
public function ban()
{
$this->status = 'banned';
}
}
Ora, un servizio di divieto consente di escludere gli utenti solo con l'id dell'utente, quindi non è necessario recuperare l'intero modello.
class BanService()
{
public function __construct(IUserRepo $userRepo)
{
$this->userRepo = $userRepo;
}
public function banUser($userId)
{
$this->userRepo->update($userId, ['status' => 'banned'])
}
}
Qual è lo schema comunemente usato per affrontare questo?