http://www.cnblogs.com/cshhs/p/9269411.html
https://www.w3cschool.cn/shiro/rmvk1if1.html
http://www.myexception.org/software-architecture-design/1815507.html