Beliefs vs. optimizer
There are a lot of beliefs out there that have been made obsolete by progress of optimizers.
So you’d better write the code, then profile it, and if it appears that the optimizer could not get rid of a bottleneck, then only should you have a second thought at it.
Instance vs local variables
Again, the driving force should be class ...
Your PC is plenty powerful for profesional software development. Assuming you have verified that there are no actual hardware problems, that would make your PC less powerful than it seems on paper.
You should instead focus on modifying your software workflow to have better use of resources.
I would question use of Docker in your scenario. I understand that ...
One way to 'solve' this is by re-designing or extending the REST interfaces to support batches next to single item requests.
Next to the GET server/products/314 you could implement a POST server/products/filter and post a body containing the ids of multiple products.
This would reduce the number of round-trips (assuming that these are the costly ...
There are no apps that natively run on Windows, Linux and MacOS as a single binary. There are a couple approaches to multiplatform applications:
Use a runtime that runs on multiple platforms, for example Java. If you target Java instead of an operating system, it will run as long as the user has Java installed. However, Java needs to be installed on Windows ...
This is an addition to the accepted answer written by @Christophe.
Compilers want clean code, too
Except it's not the Clean Code by Robert Cecil Martin.
The clean code that compilers want to read are called Static Single Assignment
form (SSA). Modern compilers use SSA as the intermediate representation.
Beliefs vs. optimizer vs. profilers
Your setup should easily run dozens of visual studio instances and firefox windows with no problem.
Theres no reason to use docker for dotnet core applications and you are in effect running multiple vms each running containers which are lets face it buggy compared to mature vm solutions.
We can probably redesign the Order Microservice to store and return a tailored amount of Product data along with Product reference (same for Customer data), which is needed for "Order Summary" view/response; It's not very uncommon to have same data residing in multiple systems, especially since this by nature is mostly static (i.e. Ordered Product details ...
In principle, each logical set of data should have its own microservice that has exclusive access to that data (encapsulation). However, sometimes it cannot be avoided to have a complex query on multiple sets of data implemented in one service, for performance reasons. In most relational database systems, you can define a 'view' to decouple the query from ...