2014-02-05 34 views
6

我沒有真正掌握定製和殘渣收集器之間的區別。定製對殘留收集器

Documentation,如果我註冊的是可以建立,ExampleClass它會處理該類型沒有被其他製造商處理的請求定製。如果我註冊ExampleClass類型的Residue Collector,它將處理請求,即不由任何(其他)建設者處理

差異在哪裏?

回答

7

tl; dr
這是一個非常有效的問題。兩者之間的差異是優先級,這是他們有機會處理請求的順序。定製是第一個,而Residue Collectors是最後一個。

AutoFixture的核心部分由Chain of Responsibility組成,其中管道中的每個節點被稱爲樣本生成器。這些助三類,即確定在鏈中的位置安排:

  1. 定製
  2. 引擎
  3. 殘留收藏家

標本建設者鏈越往上去處理傳入的請求首先,有效壓倒那些進一步下跌的股票

定製通常是由用戶創建的臨時樣本構建器,用於以特定方式處理某種請求。因此,他們被賦予最高優先權。

發動機是內置的AutoFixture標本製造商。它們處理所有基本類型,如字符串,數字和日期。

殘渣收集器是具有最低優先級的樣本製造商,並且將捕獲任何其他製造商無法處理的請求。它們通常用作回退策略。