選取三個知名的設計模式:組合模式、抽象工廠模式、享元模式
(1) 組合模式
結論:組合模式對大部分質量屬性都有正影響,可伸縮性(Scalability)和健壯性(Robustness)除外。
(2) 抽象工廠模式
結論:總體上來說,抽象工廠模式對軟件質量屬性的影響爲中等,擴展性、普遍性和模塊性不錯,但是健壯性的結果令人喫驚。
(3) 享元模式
結論:總體上來說享元模式對軟件質量屬性有負影響,只有可伸縮性還不錯。
選取三個GoF提及的質量屬性:可重用性、擴展性、易理解性
(1) 可重用性
結論:10個模式對可重用性有正影響,6個無影響,7個有負影響。
(2) 擴展性
結論:19個模式對可擴展性有正影響,3個無影響,1個有負影響。
(3) 易理解性
結論:15個模式對易理解性有正影響,3個無影響,5個有負影響。
整體分析:
總的來說,設計模式對軟件質量屬性的正影響大於負影響,因此,恰當使用設計模式可以在一定程度上提高軟件質量。
設計模式對質量屬性的影響並不總是正的,有些模式會對某些質量屬性產生負面影響,因此需要慎重選擇和使用設計模式(They should be used with caution)。
個人認爲,本工作需要參與者對這些設計模式要有較深的理解,此外對於這些軟件質量屬性要有統一的理解和認識,爲此,需要對這些軟件質量屬性提供一個較爲標準的定義。(我計劃寫專門的文章來對這些軟件質量屬性進行詳細的說明,)
由於本研究工作主觀性較強,我在此不多加分析,不同的人會有不同的評價結果。
同志們,如果要你來填寫這個表,答案是什麼呢?偶也想在國內組織一次類似的調查,呵呵!