[Add && Update] 分割职能，并提供一些默认实现