How do all of the damage reducing methods interact with each other in League of Legends?

Okay, from my experiments, it goes:

Armor/MR reductions <--> Percentage Reductions
(They stack multiplicatively, so order is irrelevant)

Flat Reductions

This makes sense, since if flat reduction was the first thing applied, after armor, it may have failed to provide a benefit at all (since, for instance, the difference between 50 * 27% and 48 * 27% is minute at best. 50 and 27% being the base attack damage of Ezreal and the armor of Amumu, my two test characters.)

Shields act as health, and damage done to shields is likewise reduced by armor / magic resist. (Meaning shields on tanks can generally absorb more punishment than shields on squishies)