Add IImageCreator abstraction and runtime provider selection
Introduce IImageCreator interface for image creation, and update ImageCreatorSharp to implement it. Add ImageCreatorAlternate (adapter) and ImageCreatorMapper (runtime selector) classes. Extend PicSettings with ImageCreatorProvider to control backend selection. Update DI registrations and refactor ImageCreationStuff to depend on IImageCreator, enabling backend switching via configuration.
This commit is contained in:
parent
a00ab074c4
commit
e48c0d266b
7 changed files with 92 additions and 2 deletions
|
|
@ -103,6 +103,11 @@ static class Program
|
|||
|
||||
services.AddTransient<ImageCreationStuff>();
|
||||
services.AddTransient<ImageCreatorSharp>();
|
||||
services.AddTransient<ImageCreatorAlternate>();
|
||||
services.AddTransient<ImageCreatorMapper>();
|
||||
|
||||
// Register IImageCreator to be resolved via ImageCreatorMapper which selects concrete implementation at call time
|
||||
services.AddTransient<IImageCreator>(sp => sp.GetRequiredService<ImageCreatorMapper>());
|
||||
|
||||
// Register a ParametriSetup singleton that persists user preferences in LocalApplicationData
|
||||
var userPrefsPath = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue