将压缩方式抽象出来