Skip to content

Tag: Open Source

Status: .NET Layers & Clojure

Haven’t posted recently because I started a new job doing Clojure development on Mac targeting JVM on Linux hosted in AWS. In other words mostly stuff I haven’t done before so I’ve been focusing a lot of time getting up to speed on all of that (which is still a work in progress).

I am still actively working on my open source Layers library for .NET and have made considerable progress. Since its still alpha its been going through a lot of change / refactoring as I work to get it to where I want for moving forward. Most of the core layers capabilities are implemented (though not tested). Next I need to write a top layer implementation (such as .NET Core MVC WebAPI) and a bottom layer (such as Entity Framework) so that I can feed incoming requests into the layers stack and have them perform actual work. Once I have those I can start testing and working with it from an application perspective and go from there.

Due to the new Clojure work and the time that is taking it will likely take me longer than I had planned to get a working version of Layers released, but it will definitely happen. Plus I’ve also created some simply, very high level “Common” open source libraries for .NET as part of this that I think will be highly reusable for a lot of projects.

Leave a Comment

Initial release of Original Coder Libraries!

I’ve created the Original-Coder-Libraries repository on GitHub and uploaded some source code to get things started! They are licensed under the GNU LGPL v3.

The libraries currently contain approximately 3,500 lines of C# according to code metrics. This is a tiny fraction of what I have in my personal libraries and I’ll be adding more in the future.

The OriginalCoder.Common library includes:

  • Abstract base class for implementing IDisposable
  • Abstract base class for implementing IDiposable that also automatically cleans up registered children.
  • Exception classes for use in Original Coder libraries
  • Comprehensive set of extension methods for reading and writing XML using Linq to XML
  • Interfaces and classes for returning messages and operation results (mostly intended for use with Web APIs)
  • Extension methods for working with enumerations
  • Centralized application configuration for working with DateTimes (such as which formats to use for user display vs data storage).
  • Many useful DateTime extension methods
  • Extension methods for working with Type
  • Extension methods for calculating a cryptographic hash of a disk file
  • Standard interfaces for defining common properties on classes (Name, Description, Summary, WhenCreated, WhenDeleted, etc).
  • Extension methods for working with standard object property interfaces.

The OriginalCoder.Data library includes:

  • Standard interfaces for defining common data properties on classes (WhenCreated, WhenUpdated, WhenDeleted, IsActive).
  • Extension methods for working with standard object property interfaces.
  • Standard interfaces for defining unique key properties on classes (Id, Uid, Key)
  • Extension methods for working with standard key interfaces.

Repository: https://github.com/TheOriginalCoder/Original-Coder-Libraries

Leave a Comment
Site and all contents Copyright © 2019 James B. Higgins. All Rights Reserved.