solid
参考
* https://blog.cleancoder.com/uncle-bob/2014/05/08/SingleReponsibilityPrinciple.html