在研究Neo4J源代碼時,我注意到它們使用了一個非常有趣的模式來將接口從實現中解耦出來。有一個Node接口只能由NodeProxy類實現。 NodeProxy又代表NodeImpl,你會認爲它也實現了Node,但它不會。 NodeImpl具有相同的簽名方法並且是Node的後續實現,但它不實現Node。我以前使用過代理模式,但是會讓NodeImpl像NodeProxy那樣實現Node。有關這種模式帶來的優點的任何想法?有趣的API模式
編輯1:感謝Cirkel的評論我現在知道這叫做Bridge pattern,主要目標是「將抽象從其實現中分離出來,以便兩者可以獨立變化」,這很有趣。
'NodeProxy'如何委託給'NodeImpl'? 'NodeProxy'不以任何方式使用'NodeImpl'。這是另一種方式 - 'NodeImpl'使用'NodeProxy'。 – 2011-06-11 18:57:05
不知道有什麼好處,因爲我對你正在查看的框架一無所知,但聽起來像NodeProxy很像一種服務定位器。 – 2011-06-11 19:03:47
它被稱爲_Bridge pattern_ – 2011-06-13 02:11:06