https://codingnote.cc/zh-hk/p/1199/
避免过度设计