如果可能尽量使用接口来编程使用属性代替原始数据在Producer/Consumer的Idiom中使用Delegate======