4 ms·
When you need to have different options showing complex things as a wallpaper, it's best to factor them out as plugins, or at least separate implementations of
by dvdkon 4y ago
When you need to have different options showing complex things as a wallpaper, it's best to factor them out as plugins, or at least separate implementations of some interface in their own files. When that happens, why not also use that interface for the basic functionality, ensuring a common code path? You don't want "enum WallpaperStyle { Image, Color, Plugin }" when you can have just "WallpaperPlugin".