小A:“在有關類的衆多術語中,是不是尤其需要注意區分操作與方法這兩個概念?”
大B:“是的。UML是這樣定義操作和方法的:1、操作就是能夠被類的實例調用的服務的規範。2、方法則是操作的實現。”
大B:“注意,操作是在方法之上的抽象概念操作定義類所提供的服務,並給出調用該服務的接口。多個類可以用不同的方法實現同一個操作。例如,很多類都以自己的方式實現toString()操作。而每個類都是通過實現方法來提供某種操作,操作的實現代碼構成了類的方法。通過對方法和操作進行定義,我們可以澄清很多設計模式的結構。操作的含義是從方法的概念上抽象而來的。由於設計模式也是從類和方法昇華而來,因而,在很多設計模式中,操作都發揮着非常重要的作用。例如,在Composite模式中,一個操作既被應用於葉節點對象上,又被應用於組合對象上。而在Proxy模式中,一箇中介者對象與目標對象具有相同的操作,從而使得中介者對象可以管理對目標對象的訪問。同樣,責任鏈(ChainofResponsibility)模式是在一個對象鏈上分發某個操作。每個對象的方法要麼直接實現該方法的業務,要麼將對該方法的調用轉發到責任鏈上的下一個對象。”