今天adun給我講了一個他所謂可退化的設(shè)計,在我看來問題還是多多。從直觀的角度上說,在java中聲明一個具有多個參數(shù)的函數(shù),調(diào)用的時候?qū)τ诓恍枰玫降膮?shù)都傳入null, 這不是理想的可退化場景。所謂的退化不僅僅是概念層面的,不僅僅是關(guān)于語義的,很大程度上它也是形式上的,是關(guān)于語法結(jié)構(gòu)的。
理想的退化場景是盡量維持形式/結(jié)構(gòu)穩(wěn)定性的情況下實現(xiàn)詮釋范圍的縮減,在任何層面上都不需要知道超出當(dāng)前需要的信息。而如果我們被要求必須傳入自己實際上不需要使用的參數(shù),則必然存在著一定程度上的信息泄漏。一個樸素的看法應(yīng)該是,當(dāng)我們需要它是一個參數(shù)的時候它就是一個參數(shù),當(dāng)我們需要它是三個參數(shù)的時候它就是三個參數(shù)。對于系統(tǒng)形式結(jié)構(gòu)的有效規(guī)劃是實現(xiàn)可退化性的前提條件。
理想的退化場景是盡量維持形式/結(jié)構(gòu)穩(wěn)定性的情況下實現(xiàn)詮釋范圍的縮減,在任何層面上都不需要知道超出當(dāng)前需要的信息。而如果我們被要求必須傳入自己實際上不需要使用的參數(shù),則必然存在著一定程度上的信息泄漏。一個樸素的看法應(yīng)該是,當(dāng)我們需要它是一個參數(shù)的時候它就是一個參數(shù),當(dāng)我們需要它是三個參數(shù)的時候它就是三個參數(shù)。對于系統(tǒng)形式結(jié)構(gòu)的有效規(guī)劃是實現(xiàn)可退化性的前提條件。