I will love this package to be separated in smaller, functional packages.
By this ctor:
internal YoutubeClient(YoutubeHttpClient httpClient)
{
Videos = new VideoClient(httpClient);
Playlists = new PlaylistClient(httpClient);
Channels = new ChannelClient(httpClient);
Search = new SearchClient(httpClient);
}
We will end up with 4 packages:
YouTubeExplode.Videos
YouTubeExplode.Playlists
YouTubeExplode.Channels
YouTubeExplode.Search
It will be easier to use and maintain.
How are 4 separate packages easier to use and maintain?
For developers, they can use Videos without the need to install everything else. If something gets broken on Videos, you can update that package without the risk of breaking something else.
It is called "Separation of concerns".
Thanks for suggestion, but I will pass.
I will try to do it myself and make a PR.
Please don't. Splitting packages means splitting development and deployment cycles which is something I would prefer to avoid. Separation of concerns is good where the time and place is right, but here it's not worth it.
Most helpful comment
How are 4 separate packages easier to use and maintain?