https://laravel-china.org/docs/php-design-patterns/2018/about/1524
http://www.runoob.com/design-pattern/design-pattern-tutorial.html
https://designpatternsphp-zh-cn.readthedocs.io/zh_CN/latest/Creational/README.html
https://laravel-china.org/docs/php-design-patterns/2018/Adapter/1496