The first one is S: Single Responsibility Principle (SRP)
This principle states that a class should only one have responsibility, which is usually interpreted as having a single “reason to change”.
I recently had an issue with a website timing out a ton of stored procedures because of deadlocks.
Looking back in the error log, I could see it all began when it failed inside the given SP with an arithmetic overflow.
This would normally be no big deal – however this time, it occurred inside an explicit transaction…
When using multiple threads in an application, you often want to be able to signal threads, to ensure a high level of responsiveness.
There are multiple ways to do this, but here’s what I feel is the best solution.