Bonsoir tout le monde

Je suis actuellement en train de coder mon site web en full-POO.
Cependant je me suis posé une question récemment.

J'ai des classes telles que UserManager, NewsManager, FileManager. Bref, elles servent à gérer les enregistrements des classes User, News, File dans la BDD et à exécuter certaines actions dessus. Cependant, je voulais savoir : devrais-je instancier ces classes (les managers) ou appeler leurs fonctions de cette manière UserManager::func(args).
Une autre question dois-je lier les managers à chaque User (càd, je déclare un manager en passant par exemple le pseudo de l'user à __construct() et toutes les requêtes effectuées seront faites en tant que l'user) ou devrais-je passer les users en args d'une manière similaire NewsManager::add($news, $user) ?

Merci d'avance,
Brendan.