view 抽象化