世代鴻溝

透過繼承,將產生的程式碼與非產生的程式碼分開。

程式碼產生的其中一個困難點在於,產生的程式碼與手寫的程式碼需要以不同的方式處理。產生的程式碼不應該手動編輯,否則你無法安全地重新產生它。

世代鴻溝的重點在於,透過將產生的部分與手寫的部分放入不同的類別,並透過繼承連結它們,來保持它們分開。

這個模式最早是由已故的 John Vlissides 描述的。在他的表述中,手寫的類別是產生的類別的子類別。我的描述稍微不同,根據我所見過的用法而來;我真的很希望有機會能與他討論這個模式。

更多詳細資訊,請參閱 DSL 書籍第 57 章

DSL 目錄