如何将面向接口编程完美融入开放封闭原则,实现长尾词?