依存性逆転の原則
リモートファイルに対しては、作成と置換のみを行う必要があるかもしれない(ローカルファイルに比べてリモートファイルのランダムアップデートはあまりに遅く、実装も難しくなる可能性があるので、リモートファイルの更新は意味をなさない)。リモートファイルに対して部分的な読み込みと書き込みを行う必要があるかもしれない(少なくともリモートファイルモジュールの内部では通信中断後のダウンロードとアップロードの再開をできるようにする必要がある)。しかし、ローカルキャッシュを利用している場合を除き、ランダムリードは適さない。
ファイル検索は "pluggable" であるかもしれない ファイル検索は OS、特にタグや全文検索に依存し、異なるシステムでも実装する事ができる。(OS に組み込まれていたり、別に入手する事も可能) 並行実行される置換または削除の検出は、他の抽象インタフェースに影響を与える可能性がある。
概念的なそれぞれのインターフェースに対してリモートファイルサーバーを設計するときは、上位レベルモジュールが要求するサービスのレベル (必ずしも全てが要求されるわけではない)を良く考える必要がある。そして、どのようにリモートファイルサーバーの機能を実装するかだけでなく、アプリケーション内に既に存在するファイルサービス(ローカルファイル、既にあるクラウドクライアントなど)と新たしいリモートファイルサーバークライアントの間で整合を取るかについても同様に考える必要がある。