将client接口封装成factory和proxy，为了以后可以扩展