Skip to content
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.nuget
.vscode
Songhay.Net.HttpWebRequest
Songhay.Security
Songhay
SonghayCore-net35
SonghayCore-net40
SonghayCore-net451
SonghayCore-net452
SonghayCore-net461.Tests
SonghayCore-net461
SonghayCore-netstandard1.2
SonghayCore-netstandard1.4
SonghayCore.MSTest-net452
SonghayCore.MSTest
SonghayCore.Tests
SonghayCore.xUnit.Tests
SonghayCore.xUnit
SonghayCore
.gitignore
CodeAnalysisDictionary.xml
LICENSE.md
README.md
Songhay.Net.HttpWebRequest.1.0.2.nupkg
Songhay.Net.HttpWebRequest.nuspec
Songhay.Security.1.0.2.nupkg
Songhay.Security.nuspec
SonghayCore.2.8.8.nupkg
SonghayCore.MSTest.2.4.2.nupkg
SonghayCore.MSTest.nuspec
SonghayCore.nuspec
SonghayCore.sln
SonghayCore.xUnit.2.0.0.nupkg
SonghayCore.xUnit.nuspec

README.md

SonghayCore

The Core code to install as a NuGet package for all of my solutions. Currently, this package supports net35, net40, net451 (for WPF), net452 and net461 (for WPF). This package also supports .NET Standard 1.2, 1.4 and 2.0.

There are actually two Core projects, Songhay (a .NET 2.0 project) and SonghayCore (a .NET latest-ish project). Two projects exist largely for historical reasons (yes, in the 21st century there are companies that still use .NET 2.0).

NuGet package: SonghayCore

NuGet package: Songhay.Portable.Core

Core Reusable, Opinionated Concerns

SonghayCore.MSTest

Extension methods of Microsoft.VisualStudio.TestTools.UnitTesting.TestContext define reusable routines for MSTEST/VSTEST projects, based on the open source framework from Microsoft.

NuGet package: SonghayCore.MSTest

Songhay.Diagnostics

TraceSources defines how tracing should be implemented with a bias toward using “native” .NET tracing.

NuGet package: SonghayCore

Songhay.Extensions

The Songhay System uses imperative C# code with a view to make it more functional in an effort to control complexity and enhance maintainability.

The preference for extension methods encourages stateless, reusable routines (many of them are “pure” functions).

NuGet package: SonghayCore

Songhay.Models

The Core models of the Songhay System define types for MIME, XHTML, OPML, REST, the Repository, the Display Item (for WPF and other MVVM solutions), etc.

The Core models are “anemic” by design (there are very few abstract classes)—any logic would be found first in an Extension Method.

NuGet package: SonghayCore

Songhay.Net.HttpWebRequest

Extensions of System.Net.HttpWebRequest for legacy (net35) applications.

NuGet package: System.Net.HttpWebRequest

Songhay.Security

Songhay System security is to date concerned with string encryption.

NuGet package: Songhay.Security

Songhay.Xml

The “core” of the Core is concern for XML. The Songhay System started out as utilities around XPathDocument and grew into LINQ for XML—over XDocument.

NuGet package: SonghayCore

You can’t perform that action at this time.