重构view和plugin