Software Development.


I follow a number of principles when developing software, this is a hot topic of debate between developers some wanting to take the purist view others just wanting to get on with the work.


I sit in the middle somewhere, I want my front end to not know what the back end is, by this I create a Data Access Layer (DAL), this keeps the two layers separate, this gives flexibility if the back end needs to be swapped out, then there is much less work to do than if the database and front end are tightly coupled together.


In the Data Access Layer there is two different routes I employ, one is to write my own DAL using a database client like the SQLClient, the other is to use Entity Framework, both have their advantages and disadvantages, if the client wants a quick delivery then Entity Framework is the way to go, if on the other hand the client wants the best performance, then the native client will give a bit more performance.


It is possible to mix it up a bit, using Entity Framework for most of the code and then SQLClient for items like stored procedures, although the latest versions of the Entity Framework work with stored procedures as well.


All the work I do is with the Core versions of .Net, this means that the systems are cross platform by default, you are not limited to running/hosting on Microsoft Windows.


I am a fan of open source software, all the tools I use are free, libraries as well, the licensing model is important I tried to keep to the least restrictive licences possible.


All the software I write the customer ends up with the source code and data so they are not trapped in a relationship with me long term.



An error has occurred. This application may no longer respond until reloaded.Reload 🗙