07908 859 818

Menu

Have absolute confidence in hiring me for your ASP.NET MVC Project. I have been using MVC professionally for 10 years. In that time, I have developed and deployed many enterprise level web applications for large UK companies. I am fully proficient in traditional MVC (ASP.NET MVC 1.0/2.0) as well as modern .NET Core MVC. Look no further if you need a Full Stack ASP.NET MVC Developer in your team.

My experience of using the Model View Controller pattern started back in 2008. Back then I was working with a .NET web application that utilized the pattern by parsing the URL request string in order to invoke the relevant controller method. The return model was always an XML string.
The views were XSLT which transformed the XML models into HTML. This approach worked well but required a lot of custom functionality. There was nothing in the framework to assist such as URL routing, model binding or view engines. This architectural pattern was made redundant once ASP.NET MVC v1.0 was released in 2009 and I have used it professionally ever since. I have developed a number of enterprise websites using MVC and continue to use the framework for modern web development. The most recent example of this is using .NET core MVC for carstore

The majority of my previous ASP.NET MVC applications have been developed with Hand coded HTML, Bootstrap and JQuery. This is especially the case when I have been developing independently or with a small team. The result has always been high quality web applications which are fully mobile responsive. When working with a dedicated UX or Front end designer I instruct them to concentrate on the UI using either with their own componentised set of controls or by raw HTML with SASS for styling.

For the backend if working with the full .NET framework I use Unity for Inversion of Control. If I’m working with .NET core, I use the new built-in IoC container. Once configured I register all my concrete types to their interface abstractions. Unity also supports controller injection allowing me to pass all controller dependencies as interfaces and relying on unity to instantiate them automatically. This keeps the structure of all controllers the same, makes development more productive and ensures controllers can be easily unit tested with mocks.

When developing the Server-side C#, I follow SOLID design principles as much as possible. I keep the classes highly cohesive by ensuring the methods closely serve the purpose of the class and I design each class so it has a single purpose. This means code changes should only be for bug fixes. New code will be created as new classes which can inherit existing functionality where necessary.

With regards to data access I use Reserve POCO. This is a tt template that reverse engineers an existing database and generates Entity Framework Code First classes, configuration mappings and DbContext. I find this provides the best of both worlds. Generated classes in the code first fashion but from an existing database. This works well for me as I have a strong SQL Database background and always prefer to design the database in SQL Server as part of the design process.

When accessing the database, I use repository classes. The return objects are models that are adapted from the Entity Framework DB objects. Using adapters to convert the return objects nicely separates the EF Models from the repository and the return types. The repositories are injected via constructors of any class that depends on them.

To assist with JavaScript bundling, transpiling and minification I use Gulp with various nodeJS modules such as webpack, gulp-sass and gulp-babel. I compile all JS scripts down to 1 single file for production. I also use Gulp for transpiling SASS to plain old CSS.

For DevOps, each check-in triggers a build. The builds are configured as steps in Azure DevOps. Automated deployments are created from build steps and custom PowerShell scripts. I also deploy the database using Visual Studio database projects which exports and deploys bacpacs.

MVC professional since 2009

I began using ASP.NET MVC at the initial realise back in 2009. Fully Proficient in full framework MVC 5 and .NET Core MVC, URL Routing, Model Binding and Razor

SOLID Principles with C#

High Cohesion, low coupling. IoC using Unity to make dependency injection simple. MVC Controllers follow the same structure and design patterns making it easy for new and existing developers to quickly add value.

Full Stack MVC Developer

Years of experience hand coding HTML and CSS. Expert in JQuery. I’ve Used it for over a decade. Also Proficient in Modern JS Frameworks such as Vue JS and Knockout.

C# & .NET Expertise

I have been writing C# for many years. I’m an expert with LINQ, Aysnc & Await Generics, and Unit testing with mocking. Lots of experience with Entity Framework both with code first classes and using EDMX Models.

I classify ASP.NET MVC Development into 2 main categories. I am fully experienced in both so am more than happy to assist you with a traditional MVC or a modern .NET Core MVC application. Below I have outlined the type of development I use when working with traditional and modern MVC apps.
  • IoC and DI using Unity
  • Routing using Register Routes
  • Entity framework DB First with EDMX
  • Log4Net
  • JQuery, JQuery Validate and JQuery UI Javascript UI framework & AJAX
  • Bootstrap for styling and mobile responsive HTML
  • Moq for Unit Testing
  • ASPX or Razor View Engine
  • IoC and DI using Unity or if .net core, the default IoC container
  • Attribute Routing
  • Model Binding using [FromBody]
  • Entity framework – DB First with reverse POCO
  • Async controllers
  • Generic Injected Logger
  • Gulp for build tasks (JS, Bundling, SASS and Transpiling)
  • VueJS for Javascript UI framework & AJAX
  • Bootstrap for styling and mobile responsive HTML
  • Razor View Engine
  • Moq for Unit Testing
  • AzureDevOps for deployments