8 Overview of Console.Waterworks
Craig Oates edited this page 4 years ago

Console.Waterworks (C.W.) is a NuGet package. I wrote it in C# with the intension of using it to make console programs. The main feature it provides is a way to make command-based (MVC?) console programs. It does this this by parsing input from the end-user and mapping it to a particular "command-method". C.W., also, does error-handling which allows you to focus on writing your "business logic". Another way to look at it is C.W. provides the "plumbing code".

Console.Waterworks.Core (C.W.C.) is the .Net Core version. It operates in the exact same way as the traditional .Net version.

Console.Waterworks Data-Flow

Because this repository focuses on teaching users how to use C.W. with F#, there is no information on how C.W. works. For that, you must refer to the wikis of the actual (C.W.) projects. Their links are as follows:

If you want to add new features or fix bugs, I recommend you start with the Console.Waterworks wiki. This is because the "Core" version's wiki focuses on using C.W.C. The C.W. wiki explains the architecture and how to use it. If you are wondering why the "Core" version omits the architecture part, it is to avoid duplication. Both versions use the same architecture. So, if you know one, you know both. The only difference between them is one targets the traditional .Net frame and the other does not.