分离视图和逻辑