Il semble que vous envisagiez de créer une classe RemoteFileSystemProvider
spécifiquement pour votre système de fichiers distant. Cette classe reflétera FileSystemProvider
, fournissant des fonctionnalités similaires pour accéder au système de fichiers distant que vous utilisez. Si c'est quelque chose que votre projet ou votre équipe peut utiliser à plusieurs reprises, alors il vaut la peine de refléter l'objet FileSystemProvider
lors de la création de votre code. Cela permet à toute personne familière avec le paquet java.nio.file
de comprendre facilement comment utiliser le vôtre. Cependant, gardez à l'esprit que FileSystemProvider
lui-même n'est conforme à aucune interface ou n'élève aucune classe dans le package. FileSystemProvider
FileSystemProvider
FileSystemProvider
FileSystemProvider
C'est un point d'entrée, et votre classe serait aussi un point d'entrée. Toutefois, si vous imitiez la structure de la méthode, vous générez Channel
objets à lire et à écrire, ce qui correspond aux spécifications java.nio
qui peuvent être réutilisées. Cela permettrait à tout code qui sait travailler avec les canaux de fonctionner avec les canaux générés par votre fournisseur de système de fichiers distant. Ma première étape dans la construction de quelque chose comme ceci, cependant, serait de simplement construire un paquet spécifiquement pour ce système de fichiers à distance. Il prendrait en charge toutes les communications et mettrait en œuvre les fonctions de base telles que getUploadChannel
, getDownloadChannel
, renameRemoteFile
, copyRemoteFile
, deleteRemoteFile
et toute autre fonctionnalité nécessaire. Cela vous donnera une bonne interface de bon sens définie pour ce système de fichiers spécifique et ses fonctionnalités. Ce paquet pourrait être utilisé dans n'importe quel contexte pour simplement implémenter une connexion à ce système de fichiers. Si vous vous assurez que cet objet utilise des canaux pour télécharger et télécharger des fichiers, il sera prêt à s'intégrer à toute API utilisant java.nio
.
Ce n'est qu'après avoir terminé, testé et travaillé, que je considère l'interface que je voudrais imiter ou mettre en œuvre pour la livraison au reste de l'équipe. Cela garantira que les modifications apportées au protocole de système de fichiers distant ou à l'API Java auront un impact minimal sur l'ensemble du système.