Q:

should each presenter have its own service class or use BLL layer methods directly

I'm developing a MVP project . now I wonder if I should create a separate service ( interface and implemented ) class for each presenter , only containing presenter's required methods . or no , It should connect directly to the BLL layer methods ? 

A:

I think it's a good idea to use a Facade or Service Layer between presenters and BLL, It would faciliate dependency injection so better testablity.
But I think it would be better if you create these services or facades based on usecases so it would be more reusable between presenters rather than one service per presenter approach.

