Design Patterns: Asp.Net Core Web API, services, and repositories
Part 1: Introduction
In this article series, I’d like to go back a little (from my previous Microservices Aggregation article which was more advanced) and introduce some more basic design patterns. Those patterns help decouple the application flow and extract its responsibilities into separate classes.
The goal is to give each class a single unique responsibility, which will help us follow the Single responsibility principle. See the SOLID principles for more information.
How to use a custom NuGet feed in Visual Studio 2017
This article will be very brief. In it, I will show you how to use the ForEvolve Framework feed. This could be applied to any other NuGet feed, including your own. Take a look at MyGet if you want one .
Microservices Aggregation
A few weeks ago I had to put together a one hour talk about something IT related. To make the introduction quick: I ended up talking about Microservices.
In that talk, to demonstrate a few things, I created some code samples using .NET Core, available at GitHub. I implemented different services, coded using multiple coding styles. Some services are easier to understand for beginners while others are more “complex” and more testable.
I also briefly talked about an alternate way to start building a product using Microservices for small teams. I will introduce and discuss this pattern more in depth here.
This technique could also be applied to any MVC project where you want to divide domain boundaries into multiple assemblies.
Microservices
I will not cover the basics of the Microservices design pattern here; I will leave that to others, such as Martin Fowler, microservices.io and Google.
So, basically, in a Microservices design, you trade coupling for operational complexity.
While enjoying the fact that every service is decoupled from one another, it can rapidly become hard to manage. Particularly for a small software, a small team, a small business or a startup (noticed the keyword “small” here?)
Nevertheless, aligning your software with the Microservices mindset could bring some advantages over a more Monolithic approach, even for a tiny company.
Goodbye WordPress! And welcome GitHub Pages!
I have never been a huge fan of WordPress and today is the day that I go back to a life without WordPress. At least now, no one can say that I didn’t try.
What drove my decision
Let’s start with my initial requirements:
A blog engine with Markdown and Multilanguage support.
What was WordPress
A CMS-ish/blog-engine, plugin-based, very slow, that also needs
Some essential keyboard shortcuts and mouse tips that everyone should know to be more productive
Based on what I saw in the field, from beginners to senior professional developers, many people could be more productive when it comes to text selection.
There are a few things that can help you write what’s in your mind faster (most of the time: code):
- IntelliSense/autocomplete (
ctrl+space
+up/down arrows
+tab
orenter
or.
or …) - this is a topic for another day. - Code snippets (i love my
guard
,aaa
(arrange, act, assert) snippets) - another topic for another day. - The use of your keyboard (i.e.: shortcuts)
The keyboard shortcuts presented here can be useful to anyone but are more focused on programming.
Adding these in your day to day work should boost your productivity, allowing you to think more of your results and less about the process to get there.
How to add your PHP runtime directory to your Windows 10 PATH environment variable
Today I will explain how to add your PHP runtime directory to your Windows 10 PATH
environment variable.
This will give you global access to php.exe
from any command prompt.
Please note that you must reopen your command prompt windows (if you had any open prior to the update).
Command prompt loads the PATH
environment variable when it is first open.
Target audience
- Windows 10 users
- PHP developers that want PHP to be globally accessible from any command prompt (ex.: php.exe for “linting” or to start a dev. server)
Note that you are not limited to PHP, this can be any directory containing any program - ex.: npm
How to trick the EDM model builder to allow recursive ComplexTypes
Before starting, this article is built on top of How to create an OData reporting service in ASP.NET 4.5 but you can easily adapt it to any of your project. The code is in the same git repository as the previous article, in the branch
recursive-complex-type, on GitHub.
Opérations Git de base en utilisant le client de GitHub
Table des matières
How to create an OData reporting service in ASP.NET 4.5
Before starting, I will assume that:
- You know what OData is (at least a bit).
- Have basic knowledge of Visual Studio, NuGet, ASP.NET, MVC5 and C#
What we will do is:
Comment ajouter l'IntelliSense pour jQuery dans un fichier JavaScript - Visual Studio Code
Avant propos
Si vous voulez uniquement exécuter les étapes sans lire les explications, vous pouvez essayer de sauter directement à la Conclusion.
Cela étant dit, rien ne vous empêchera de relire les sections pour lesquelles vous avez besoin de plus d’explications plus tard :)
Prérequis
Nous aurons besoin de node.js
et de npm
afin de réaliser ce tutoriel. npm
est le “package manager” que nous utiliserons afin de télécharger notre fichier de définition de jQuery.