尽量库中的代码都是声明式的,创建和执行的权限都交给调用者