Sto costruendo un'applicazione che recupera i dati dell'elenco di Sharepoint tramite un servizio Web SPlists.Lists
. Per creare un'istanza del servizio web, ho la seguente classe:
class SharepointServiceCreator
{
public SPlists.Lists createService()
{
listsService.Url = "http://wss/sites/SPLists/_vti_bin/lists.asmx";
listsService.Credentials = System.Net.CredentialCache.DefaultCredentials;
SPlists.Lists listsService=new SPlists.Lists();
}
}
Sono preoccupato che questa non sia una buona astrazione OOP, però, perché per creare questo servizio altrove nella mia applicazione, avrei bisogno del seguente codice:
class someClass
{
public void someMethod()
{
SharepointServiceCreator s=new SharepointServiceCreator()
SPlists.Lists listService=s.createService()
}
}
Dovendo usare dichiarare l'istanza di listService
in someMethod
come tipo SPlists.Lists
sembra sbagliata, perché significa che someClass
deve sapere come viene implementato SharepointServiceCreator
. O è ok?