2015-05-22 47 views
1

我想在我的項目中使用造船廠驗證的emberjs混入VS延長

我必須選擇如何使用驗證,密新的船塢

  • 方法1有BaseController其將混入該驗證混合並獲得所有控制器中的功能

  • 方法2直接使用Mixin。 1 無需

優點手動導入中的每個文件和混入燼,驗證,我也得到驗證的功能在所有的控制器。

缺點1 在所有控制器中可能不需要驗證,可能僅在50%的情況下才需要驗證,也可能會重新排列現有控制器添加混入的方式。 2 簡單

優點,只有誰需要的功能將導入並使用它。的2

缺點導入在每個文件中,其中需要並添加混入。

回答

2

我想你應該直接使用該mixin。爲什麼?

因爲沒有必要將它在你的應用程序的每個控制器擴展。擴展mixin是獲得控制器之間共享功能的一種方式,即共享該功能。我非常確定,您的應用中的每個控制器都不需要驗證。

從我的經驗,我可以說,只有控制器的一些百分比使用驗證(這取決於應用程序,但它只是一個粗略的平均值)。將mixin導入需要的地方。

+0

同意:總是喜歡構圖而不是繼承IMO – iwayneo