作者yoco315 (眠月)
看板C_and_CPP
標題Re: [問題] 物件內的物件...彼此溝通的方法?
時間Wed Jun 24 23:56:18 2009
蚵蚵,搞不好這樣的設計根本沒問題?
事實上這種設計不是本來就很常見嗎?
GUI framework 其實就都是這樣管理控件的阿~
每個物件只需要記住自己的 parent 就好了
如果我要往上存取三層,就 obj->parent->parent->parent 就好了
不用自己把每一個需要參照到的物件都自己記住
當然在創建物件的時候還是需要把 this 傳進去
children.push_back ( new Foo(thie) ) ;
這樣每個物件才知道自己的 parent 是誰
重點是,如果你需要的架構的確是這樣
那麼,這樣的架構很正常,很常見,並沒有問題
--
To iterate is human, to recurse, divine.
遞迴只應天上有, 凡人該當用迴圈. L. Peter Deutsch
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.109.130
1F:推 legnaleurc:obj.super.super.super XD 06/25 00:27
2F:→ yoco315:走錯攝影棚 XD 06/25 00:29
3F:推 Killercat:其實碰到這種多層次溝通的,interface也是一個解法 06/25 00:42
4F:推 softwind:裝飾者pattern ??? 06/25 01:54
5F:→ yoco315:wow, here is c/c++, we have multiple inheritance. 06/25 03:16
6F:推 Killercat:maa 我想S兄應該想說observer pattern 06/25 12:02
7F:→ Killercat:是的 那是observer,不過普通我們稱為觀察者吧(汗 06/25 12:02
8F:→ adrianshum:observer 和 decorator 都不是解這種問題的吧... 06/25 12:18
9F:推 legnaleurc:observer 和這個有啥關聯? 06/25 14:15
10F:推 Ebergies:我怎麼覺得 GUI 雖然可以這樣取但卻很少人這樣取吧 lol 06/26 14:50
11F:→ Ebergies:多半你在 composite 時有需要用到的 reference 就會設好 06/26 14:51