- C# 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .config | ||
| .forgejo | ||
| Build | ||
| CodeStyle@89917d859b | ||
| Source | ||
| Tests | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| .runsettings | ||
| build.cake | ||
| build.ps1 | ||
| build.sh | ||
| equadrat.Framework.Math.Description.txt | ||
| equadrat.Framework.Math.DotSettings | ||
| equadrat.Framework.Math.License.md | ||
| equadrat.Framework.Math.README.Footer.md | ||
| equadrat.Framework.Math.README.Header.md | ||
| equadrat.Framework.Math.ReleaseNotes.md | ||
| equadrat.Framework.Math.sln | ||
| equadrat.Framework.Math.sln.DotSettings | ||
| equadrat.Framework.Math.stylecop.json | ||
| equadrat.Framework.Math.Tags.txt | ||
| NuGet.config | ||
| project.build.props | ||
| project.info.build.props | ||
| README.md | ||
equadrat Framework Math
The idea of the equadrat Framework is to provide APIs to build applications with an architecture of highly decoupled components. Every single component, aspect or pattern is represented by interfaces. The framework provides a standard implementation for these but each type can be replaced by a custom implementation.
The framework is not about reimplementing components, but making them available using common interfaces.
Getting started
You can use most of the components by simply instantiating them. This is maybe the easiest way to evaluate the framework.
If you're using an IOC/DI container such as Microsoft Extensions DependencyInjection or if you want to use the built-in IOC framework, you can use the bootstrapper and bootstrapper modules to register the framework to the IOC.
Packages and Modules
-
Module with basic functionality such as value operators.
MathFramework().RegisterBaseModule() -
Module with components for units and UOMs.
MathFramework().RegisterUomModule() -
equadrat.Framework.Math.Uom.Units
Module with definitions for symbols, units, and conversion paths.
MathFramework().RegisterUomUnitsModule() -
equadrat.Framework.Math.Uom.Ucum
Module with components to serialize/deserialize units following the UCUM standard (see ucum.org).
MathFramework().RegisterUomUnitsModule() -
equadrat.Framework.Math.Uom.Ucum.Units
Module with symbol definitions for units and prefixes following the UCUM standard (see ucum.org).
MathFramework().RegisterUomUnitsModule()
Have a look at the example applications on equadrat.net and in the wiki.
Compatibility
The plan is to keep the equadrat Framework compatible to these .net versions as long as possible.
| .net version | min | max | automated tests* |
|---|---|---|---|
| Core | 3.1 | ≥ 10.x | yes |
| Standard | 2.0 | ≥ 2.1 | no |
| Framework | 4.6.2 | ≥ 4.8.x | no |
*The automated tests run under Linux for .net Core 6.x and above.
Version scheme and breaking changes
| Version change | Scope |
|---|---|
| Major | Overhaul of the project |
| Minor | Some types have changed |
| Revision | Fully backward compatible |
| Build | Set in preview versions only |
Additional documentation
You can find some guides regarding specific features on my website: www.equadrat.net
Feedback
You can contact me on my website: www.equadrat.net
License
Please respect the license and check equadrat.Framework.Math.License.md before using the package.