Still busy importing source code
Beaker libraries projectUnlike most .NET libraries, the Beaker Libraries are not general usable. They are to support a way of working I developed over time. If you do not adopt this way of working, these libraries are probably unusable for you. I am making my libraries open source for the people who happen to like my way of working and like to adopt it, including the libraries to support the method.
Beaker 'method'The beaker method uses a lot of existing patterns to create decoupled, testable applications. The libraries supply DI libraries and Interfaces to hide OS access and make them testable. The main pattern used is
S.O.L.I.D.External librariesFor several tasks external NuGet libraries where chosen. Because the Beaker libraries reference these libraries, adopting the beaker method includes adopting these libraries.
Beaker provided librariesThe libraries grow as I need them, so it might be an incomplete list for your needs.
Name | Description |
Beaker.Injection | Main Dependency Injection Library. Starts DI up, but does not provide a DI framework itself. Contains only a generalized way of registering the injections using modules |
Beaker.Injection.SimpleInjector | Provider that uses SimpleInjector for the DI |
Beaker.Common | Common libraries with classes that are used in most other libraries, but do not fit a special theme |
Beaker.FileSystem | Interfaces for access to file system, like IFolder and IFile. |
Beaker.FileSystem.Physical | Implementation of the interfaces against a physical file system |
Beaker.FileSystem.Virtual | Implementation of the interface against a Virtual ASP.NET file system |
Beaker.FileSystem.Zip | Implementation of the interface against a ZIP file |
Beaker.FileSystem.InMemory | A fully in-memory implementation of a file system. Useful as a stub during unit testing |
Beaker.Data | Interfaces to abstract EF or Linq to SQL away |
Beaker.Data.InMemory | A full in-memory implementation of IDbContext. Useful as a stub during unit testing |
Beaker.DateAndTime | Abstracts away most date and time for unit-testing |
Beaker.Console | Abstracts away the console access and supplies a command line parser for console apps. |
Beaker.Specs | A library with base and helper classes for supporting test driven development |