UserService を書いてから UserServiceI などのインターフェース実装を書く例をよく見かけますが、小規模なプロジェクトで重複ファイルをたくさん書くのは非常に面倒だと感じます。
1 か所でのみ使用される小規模なプロジェクトなど、個人で楽しむための場合は、インターフェースを記述する必要はありません。複数の場所で使用されたり、リモートで呼び出されたりする場合を除きます。インターフェイスは実装を抽象化するために使用され、すべてのシナリオに必要というわけではありません。
1 か所でのみ使用される小規模なプロジェクトなど、個人で楽しむための場合は、インターフェースを記述する必要はありません。複数の場所で使用されたり、リモートで呼び出されたりする場合を除きます。インターフェイスは実装を抽象化するために使用され、すべてのシナリオに必要というわけではありません。