0
兩個過濾和解釋設計模式看起來像是面向很多類似的任務。過濾器根據一些標準過濾列表,而解釋器對於單個元素幾乎完全相同。爲什麼過濾器是結構化的,而解釋器是行爲?
但我不知道爲什麼過濾是結構和解釋是行爲。任何人有想法?
兩個過濾和解釋設計模式看起來像是面向很多類似的任務。過濾器根據一些標準過濾列表,而解釋器對於單個元素幾乎完全相同。爲什麼過濾器是結構化的,而解釋器是行爲?
但我不知道爲什麼過濾是結構和解釋是行爲。任何人有想法?
雖然這是事實,他們是「任務導向」,這兩種模式實際上是指不同的目的,讓我們的SQLTABLE類的實例。
篩選器模式可用於過濾/刪除/隱藏,更一般地影響數據庫的結構,但根本不會修改其行爲。
實施例1:一旦過濾,這只是一個新SQLTABLE用更少/更多的行和也許少/多列
解釋器模式屬於行爲模式,在這個意義上,它modifes的行爲一個對象(通常用結構模式(如Composite)來表示)。不同之處在於對結構的行爲有不同的解釋。
例2:一旦解釋爲一個CSV表,你SQLTABLE現在可以導出爲PDF文件
我猜你的誤解來自於一個事實,即它們都是爲了應用於結構創造別的東西但實際的區別在於他們的意圖,而不是他們在實踐中相對接近的具體實現
[CS.SE](http://cs.stackexchange.com/questions/2284/whats -a-bridge-a-mediator-and-a-wrapper/2290#2290)有一個excel通過意圖而不是實現來區分不同模式的答案。 – jaco0646