You can view the new and improved version of this wiki as a GitHub Pages Site here: Apex Common GitHub Pages Site. Within the GitHub Pages site you can easily search for anything you are interested in, and you can play the tutorial videos directly on the page if you are interested in watching video walkthroughs.
Housed in this repo is also an older version of the wiki that goes over how to implement Separation of Concerns in Salesforce. It explains the three layers in Salesforce that you should separate your concerns into (Service, Domain and Selector) and how to leverage the Apex Common Library to make implementing Separation of Concerns in your org considerably easier. This version of the wiki will continue to be maintained, but the GitHub Pages Site is much easier to use.
There is also some example code showing you how an application (in this case a help desk app) in a Salesforce org might separate its concerns. If you reference the code while reading the wiki it should aide considerably in learning how to leverage the Apex Common Library to implement Separation of Concerns in your Salesforce org.
If you believe there is any information missing from this guide or that it needs more info in certain places, please submit an issue on this repo here and I'll add it ASAP!
If you enjoy this repo and would like to say thank you, feel free to send a donation here! But no pressure, I really just do this for fun!