Skip to content

API Changes, New Additions

Latest
Compare
Choose a tag to compare
@Aleksbgbg Aleksbgbg released this 25 Jun 09:34
72d774a

Description

Wingman has been split into three packages for ease of use:

  • Wingman.DI (dependency injection)
  • Wingman.Services (general-purpose services)
  • Wingman.WPF (Caliburn.Micro support)

You can install the main package, Wingman, which will install all of the above.

Wingman.Services has a new DataService addition, which will save data files to %AppData% on Windows machines. You can configure the service to save to other directories, or even a database - it is completely modular. This still needs some work.

Some breaking API changes have been introduced - in particular, a new pattern of service creation has been introduced. For example, the DependencyContainerFactory.Create() method now returns a DependencyContainerCreation, which contains properties for each dependency container interface, rather than one type implementing all of the interfaces. This is as a result of splitting the interface implementation across multiple classes.

Mainly, the dependency injection part of the library has been reworked, with a custom implementation. Both the ServiceFactory and DependencyContainer now share the same dependency injection codebase. Thus, the DI package no longer depends on Caliburn.Micro.

Finally, Wingman.DI and Wingman.Services now support netstandard2.0, netcoreapp2.0, and netcoreapp2.2. This isn't tested or confirmed, however the code compiles for these platforms and can be installed. As a result, Mono is also supported. Let me know if there are any fixes required on these new platforms!