https://blog.csdn.net/koko2015c/article/details/76278678
Anonymous
Separate policy from mechanism, separate interfaces from engines.