iOS設計模式-原型模式

來源:互聯網
上載者:User

標籤:

| 導語 定義:用原型執行個體指定建立對象的種類,並通過拷貝這些原型建立新的對象。

通過深複製(複製、拷貝)一個指定類型的對象來建立更多同類型的對象。這個指定的對象可被稱為“原型”對象,也就是通過複製原型對象來得到更多同類型的對象。即原型設計模式。iOS中使用copy協議完成這個過程。

原型模式主要用於對象的深複製,它的核心是就是類圖中的原型類Prototype。

原型模式的核心思想是把複製的過程封閉到對象的內部完成。第一個好處是修改複製的過程而不影響外部的使用者。

原型模式的優點及使用情境
  1. 簡化對象的建立,把建立的過程封閉到對象的內部。在需要重複地建立相似對象時可以考慮使用原型模式。比如需要在一個迴圈體內建立對象,假如對象建立過程比較複雜或者迴圈次數很多的話,使用原型模式可以簡化建立過程,而且可以使系統的整體效能提高很多。
  2. 由於複製的過程是封閉的,這樣就降低了與用戶端的耦合,提升了穩定性。如果複製的過程對client是完全透明的,那麼無疑增加了client的職責,所以一旦對複製的過程進行修改,那麼難免對client的穩定性造成影響(client有可能被改出bug)。
  3. 集中建立,便於管理。由於建立的過程封閉在對象內部完成,只需修改對象內部一處,所有調用深複製的地方全部生效。

總結:

原型模式符合的設計原則:

1.單一職責原則。client只需關注自己的業務,不用負責複製的過程。

2.迪米特法則(最少知道原則)。Prototype隱藏複製的過程,減少耦合。且Prototype只需符合copying協議即可,client不用知道Prototype是具體哪個類,這樣的好處是便於派生。

自選股樣本:

資料部分樣本很多,這裡不擺圖列舉了。例如,盈虧資料

CProfitLossSummaryHistoryData。

如果

iOS設計模式-原型模式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.