天天看點

設計模式之美:Manager(管理器)

索引

<a href="http://www.cnblogs.com/gaochundong/p/design_pattern_manager.html#intent">意圖</a>

<a href="http://www.cnblogs.com/gaochundong/p/design_pattern_manager.html#structure">結構</a>

<a href="http://www.cnblogs.com/gaochundong/p/design_pattern_manager.html#participants">參與者</a>

<a href="http://www.cnblogs.com/gaochundong/p/design_pattern_manager.html#applicability">适用性</a>

<a href="http://www.cnblogs.com/gaochundong/p/design_pattern_manager.html#consequences">效果</a>

<a href="http://www.cnblogs.com/gaochundong/p/design_pattern_manager.html#implementation">實作</a>

<a href="http://www.cnblogs.com/gaochundong/p/design_pattern_manager.html#implementation_simpliest_example">實作方式(一):Manager 模式的示例實作。</a>

将對一個類的所有對象的管理封裝到一個單獨的管理器類中。

這使得管理職責的變化獨立于類本身,并且管理器還可以為不同的類進行重用。

Encapsulates management of a class’s objects into a separate manager object.

This allows variation of management functionality independent of the class and the manager’s reuse for different classes.

設計模式之美:Manager(管理器)

Subject

領域對象。

提供 Client 需要的領域服務。

Manager

Manager 類是唯一負責建立和銷毀 Subject 對象的類。它負責跟蹤和管理 Subject 對象。

典型的管理職責包括根據指定的 Key 搜尋 Subject 對象。

因為 Subject 對 Manager 無引用,是以 Manager 可根據需要修改或子類化。

Client

從 Manager 對象擷取 Subject 對象。

使用 Subject 的領域服務。

設計模式之美:Manager(管理器)

當以下情況成立時可以使用 Manager 模式:

當需要對同一個類的所有的對象進行操作時。

當需要按需的建立和銷毀對象時。

當需要控制對象的生命周期時。

可以對全部對象進行統計。

管理職責可以無依賴的變化。

可以按需替換管理職責。

管理職責可以得到重用

<a></a>

<a>本文轉自匠心十年部落格園部落格,原文連結:http://www.cnblogs.com/gaochundong/p/design_pattern_manager.html,如需轉載請自行聯系原作者</a>

繼續閱讀