[英]What is the purpose of a Manager Class?
我看到很多類標記為“經理”。 如何使用管理器類?
例如,它是否被這樣的組合使用?:
var m: Mananger = new ManagerClass();
m.doSomething();
管理器類是不適合其他地方的代碼的常見垃圾場。 他們也傾向於成為或成為神類。
像這樣的類用於管理另一個類的一組對象,這些對象通常是資源。
例如,假設您有一個數據庫連接池,每個連接池由DBConnection
類的一個對象表示。
如果您的代碼需要通過連接池連接到 DB,它只會向DBConnection_Manager
類請求新連接。 為什么我們需要經理類?
Manager 類將查詢它的 DBConnection 對象列表,並確定它們中是否有任何一個未被分配,並返回一個。 如果所有都分配了,它將創建一個並添加到池中(受最大連接數限制)或將請求放入隊列,或報告失敗。
所有這些功能都對調用者完全隱藏 - 管理池的細節是 Manager 類的工作。
這只是一個具體的例子,但其思想是將資源管理集中並封裝在一個 Manager 類中,用戶代碼僅要求“一個資源”。
我不確定這種方法是否有真正的“設計模式”,但我發現至少有一個網頁這樣說: http : //www.eventhelix.com/realtimemantra/ManagerDesignPattern.htm
更新:在動作腳本的情況下,這樣的類可用於管理聲音、事件偵聽器或 GUI 小部件(例如上下文菜單)
這通常意味着有人正在實現一種設計模式並且不知道(或不想使用)它的正式名稱。 您必須閱讀代碼才能得出任何有意義的結論。
在我看來,經理類應該在這些情況下使用:
max
或min
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.