參考:PWR Schema Design Decision:盡量限制PWR的繼承關係至多為三層
二個禮拜前,覺得想要把繼承關係限制為三層,現在覺得應該直接限制成二層,目前正在測試這樣的架構有沒有問題
扁平他繼承關係的手段:
1.直接將子子類別繼承自父類別
這裡舉Act、Supply、Diet的關係為例子,下面第一個圖是依據RIM的結構,Act、Supply和Diet的關係。但是這樣的設計方式,會沒辦法塞資料。比方說,現在要塞diet的資料,它的classCode是”Diet”,若依照下面的設計,要塞Diet就一定要塞資料到Supply。但是Supply的classCode是SPLY,如果塞進去的話,就會違反RIM的設計。若把A_Diet接到A_Act下面,似乎就可以解決這樣的問題了
修改後的結構如下,若來源資料的classCode是SPLY,就將資料塞到A_Supply中;若classCode是A_Diet,就將資料塞到A_Diet中。注意因為A_Diet是繼承自A_Supply,所以要記得將原本A_Supply有的屬性也複製一份到A_Diet中
2.用association取代繼承
2010/06/22
沒有留言:
張貼留言