一些开发中自己做的通用机制