在C++中有一定的實現模式,我在下面描述,它在std :: iostream庫和其他類似的庫中使用。這個C++實現模式的名稱
任何人都可以記得這種模式的名稱?
該模式描述如下:
- 存在用於輸出數據或用於數據轉換(例如std :: ostream)的中央類IO。
- 對於定義了輸出轉換的每個應用程序類,「轉換器」是GLOBAL函數,而不是IO的成員函數。此模式的動機是
(1)IO的設計者都想擁有它「已完成」,不需要時加入轉換器的另一個應用程序類的任何變化,
(2),因爲你想要的IO成爲一個小型的可管理的班級,而不是一個擁有100名成員和1000名成員的班級。當需要在IO類和多個「用戶」類之間進行解耦時,這種模式很常見。
這種模式的名稱是什麼?
家庭作業? :-) http://en.wikipedia.org/wiki/Design_pattern_%28computer_science%29 –
@Martin:我描述的這種模式從你給的鏈接中丟失。 Gamma推廣的「設計模式」列表只包含語言中立模式,這些模式嚴重依賴於多態語言。許多特定於C和C++的設計模式和實現模式,特別是那些不使用多態性的設計模式和實現模式,在鏈接(Gamma列表)中缺失。作爲另一個例子,考慮涉及模板的C++設計模式。他們不在Gamma列表中。 – Andrei