2014-07-07 22 views

回答

0

您的重用和抽象的目的去做。

緩存將只存在一次,但如果您在每個控制器或服務中實現它,則會一遍又一遍地重複相同的代碼,從而難以維護。

這也是一個抽象,你基本上創建了一個模塊,其接口爲,這使得你的服務獨立於它背後的實現。

在示例中,您可能有緩存項到期,您可以編寫代碼/邏輯以刪除每個服務中過期的緩存項,也可以將其放在您調用緩存的單個模塊中。這樣你就可以重用代碼,並且易於維護。

無論你使用他們,還是讓自己無所謂,校長都是一樣的。

使用Angular緩存的一個原因是,您不必編寫相同的鍋爐板,其他人已經實現了上千次。你可以直接去你域和業務邏輯


也從使用高速緩存模塊得到一定的典型應用該類超支。

  1. 您不必關心接口背後的實現。 (根據接口編程,而不是實現)。
  2. 您可以使用不同的邏輯注入不同的模塊,但使用與DI相同的接口。
  3. 這很容易維護。
  4. 您可以輕鬆擴展並擴展它,例如。添加到期。
  5. 製作測試存根更容易(見第2點)。
  6. 您可以輕鬆重複使用該模塊。
  7. 邏輯是在它的正確的地方,而不是四處散佈。
+0

Array.push,pop和splice完成與緩存服務相同的功能,所以我並沒有在你的論點中看到任何使用它的引人注目的案例。看來緩存功能只是重新發明輪子。 – AndroidDev

+0

爲什麼使用IList 當你只能使用ArrayList ?還有Angular緩存,可以通過按鍵獲取項目,數組不能。作爲第三個參數,如果你想添加一個新的函數呢?例如,如果您想添加到期日期,您會在哪裏放置它? –

+0

「例如,如果你想添加到期日,你會在哪裏放?「 - 你將它放在Angular中的哪個位置?如果你打算擴展功能,你可以創建一個或更好的類,使用專門爲緩存設計的框架,比如breezejs – AndroidDev