Source: https://chem.eng.psu.ac.th/new_chem/upload/document/1/design patterns.pdf