多重繼承欠缺技術, 模板有豐富的技術. 多重繼承缺乏型別姓習, 模板中卻大量存在. 模板的特化無法擴張, 多重繼承卻很容易擴張. 所以, 用這兩種技術組合起來, 可以產生非常具彈性的裝置.
policy: 是用來定義乙個class或class template的介面, 該介面由下列之一或全部組成:內隱型別定義, 成員函式和成員變數.
policy是一種策略, policy需要定義乙個介面, 這個介面是所有某類policy所需要實現的, 如果沒有實現, 則在模板例項化的時候, 編譯器會報告錯誤.
當乙個宿主類派生自一些policy, 那麼這個宿主類就可以通過例項化不同的policy具體實現, 來生成設計的多樣化. 在設計模式的角度來講, 非常類似strategy, 但是, 這裡是編譯期決定的.
書裡還介紹了很多使用policy class時候的細節.
不過最有趣的還是組合和設計各種policy. 應該將policy設計為正交的, 即相互之間沒有關係, 這樣通過在宿主類中使用幾種不同的policy, 就可以配置出各種需要的行為, 簡直相當於機器為你自動生成**一樣, 即有效, 又靈活.
policy的正交設計, 應該是相當重要的.
通過在編譯期間, 用不同的policy來配置行為, 是從來沒有見過的, 大大的拓寬了思路, 宛如一片全新的空間啊.
C 泛型程式設計 基於策略 Policy 的類設計
基於策略 policy 的類設計是將templates和多重繼承組合起來,這樣可以產生程式庫中的 設計元素 policies由templates和多重繼承組成。乙個class如果使用了policies,就稱其為host class,那是乙個擁有多個template引數的class template,...
基於REST架構的Web Service設計
先前我曾經介紹過利用apache axis實現基於soap的web service實現技術和相關 總的來說,soap的web service解決方案雖然較為成熟,且安全性較好,但是使用門檻較高,在大併發情況下會有效能問題,在網際網路上使用不太普及,因此並不太適合web 2.0 服務使用,目前大量的w...
基於REST架構的Web Service設計
先前我曾經介紹過利用apache axis 實現基於soap的web service實現技術和相關 總的來說,soap的web service解決方案雖然較為成熟,且安全性較好,但是使用門檻較高,在大併發情況下會有效能問題,在網際網路上使用不太普及,因此並不太適合web 2.0 服務使用,目前大量的...