クラスベースの言語でコードを分離するのがベストプラクティスであると私は常に考えてきました。例として、私は私のWeb APIとのAPIのやりとりを扱うプロジェクトを作った。私は、正しい選択肢があるか、別の提案があるかを知りたい。クラスベースの環境での懸念/コードの分離(例としてC#が使用されています)
例1
プロジェクトファイル
- Api.cs
- データ型
- Anime.cs
- Episode.cs
Api.cs
public class Api
{
public static async Task<List<Anime>> GetAnimesByKeyword(string keyword)
{
// Execute api request to server
return result;
}
public static async Task<List<Episode>> GetEpisodesByAnime(Anime anime)
{
// Execute api request to server
return result;
}
}
データ型 - > Anime.cs
public class Anime
{
public string Name { get; set; }
public string Summary { get; set; }
// Other properties
}
データ型 - > Episode.cs
public class Episode
{
public string Name { get; set; }
public Date ReleaseDate { get; set; }
// Other properties
}
または実施例2つの
プロジェクトファイル
- Api.cs
- データ型
- Anime.cs
- Episode.cs
Api.cs
public class Api
{
// Nothing for now
}
データ型 - > Anime.cs
public class Anime
{
public static async Task<Anime> GetById(int id)
{
return result;
}
public string Name { get; set; }
public string Summary { get; set; }
// Other properties
}
データ型 - > Episode.cs
public class Episode
{
public static async Task<List<Episode>> GetEpisodesByAnime(Anime anime)
{
return result;
}
public string Name { get; set; }
public Date ReleaseDate { get; set; }
// Other properties
}
これら2の何がコードを構成する好ましい方法である、またはこれを行うには良い方法があります。それは重要ではないように見えるかもしれませんが、それは私にとって重要です。
私を助けてくれてありがとう!
https://en.wikipedia.org/wiki/Single_responsibility_principleを参照してください。 –