思考
表示乙個作用域某物件結構中的各元素的操作。它使你可以在不改變各元素的類的前提下定義作用與這些元素的新操作。
訪問者模式目的是要把處理從資料結構分離出來。很多系統可以按照演算法和資料結構分開,如果這樣的系統有比較穩定的資料結構,又易於變化的演算法的話使用訪問者模式就是比較合適的。因為訪問者模式使得演算法操作的增加變得容易。
用訪問者模式來改寫。
/// d ##class(pha.yx.design.program).visitormethod()
classmethod visitormethod()
class pha.yx.design.visitor.action extends %registeredobject [ abstract ]
method getwomanconclusion(concreteelementb as woman) [ abstract ]
}
class pha.yx.design.visitor.person extends %registeredobject [ abstract ]
}
class pha.yx.design.visitor.success extends action
method getwomanconclusion(concreteelementb as woman)
}
class pha.yx.design.visitor.failing extends action
method getwomanconclusion(concreteelementb as woman)
}
class pha.yx.design.visitor.amativeness extends action
method getwomanconclusion(concreteelementb as woman)
}
class pha.yx.design.visitor.marriage extends action
method getwomanconclusion(concreteelementb as woman)
}
class pha.yx.design.visitor.man extends person
}
class pha.yx.design.visitor.woman extends person
}
class pha.yx.design.visitor.objectstructure extends %registeredobject
method remove(element as person)
method display(visitor as action)
}
/// d ##class(pha.yx.design.program).visitor()
classmethod visitor()
man success 背後多半有乙個偉大的女人
woman success 背後多半有乙個不成功的男人
man failing 悶頭喝酒,誰也不用勸
woman failing 眼淚汪汪,誰也勸不了
man amativeness 凡事不懂也要裝懂
woman amativeness 遇事懂也裝作不懂
語文老師,數學老師,體育老師,分別訪問 藝術生和體育生的成績。
第二十四章 職責鏈模式
職責鏈模式 chain of responsibility 使多個物件都有機會處理請求,從而避免請求的傳送者和接收者之間的耦合關係。將這個物件連成一條鏈,並沿著這條鏈傳遞該請求,直到有乙個物件處理它為止。注意 乙個請求極有可能到了鏈末都得不到處理,或者因為沒有正確配置而得不到處理。created b...
第二十四章 Cach 變數大全 ZA 變數
包含當前裝置上最後一次讀取的狀態。za za包含當前裝置上最後一次讀取的狀態。不能使用set命令修改此特殊變數。嘗試這樣做會導致錯誤。za被實現為一系列位標誌,每個位表示一條特定的資訊。下表顯示了可能的值 它們的含義,以及如何使用模 和整數除 運算子測試它們 位測試 含義0 za 2已到達,無論是否...
第二十四章 內家罡勁!
第一層次,佛宗 道家,包括我內家拳,都是內勁!而第二層次,佛宗為 佛元 這道家為 先天真元 那我這內家拳勁力就取名為 內家罡勁 滕青山感覺得到,在全身每一處,細微之細胞深處潛伏的絲絲罡勁!滕青山一揮右拳。咻!寸長的土黃色流光脫離滕青山拳頭,噗!的一聲,在旁邊草地上留下了乙個只有拳頭大小的深坑,一眼看...