第25章 访问模式(VISITOR).pptVIP

  • 2
  • 0
  • 约3.5万字
  • 约 24页
  • 2019-01-24 发布于江苏
  • 举报
第25章 访问模式(VISITOR)

也就是说,对于同一个公园,不同的访问者有不同的行为操作,而且访问者的种类也可能需要根据时间的推移而变化(行为的扩展性)。 根据软件设计的开闭原则(对修改关闭,对扩展开放),我们怎么样实现这种需求呢? 在这个例子中,如果我们在公园类里实现所有的访问者行为,势必造成以下问题: 1,由于所有的访问者的行为各不一样,在一个类中实现所有访问者行为,会造成该类功能过多,代码冗长。 2,不利于扩展。每增加一个访问者,就需要在已有的类里为其实现一个新的行为,就是说不得不修改已有的类,显然不符合软件设计开闭原则。 * Visitor模式的應用場景 我們舉例來說明Visitor模式的應用場景。 比如有一個公園,有一到多個不同的組成部分; 該公園存在多個訪問者:清潔工A負責打掃公園的A部分,清潔工B負責打掃公園的B部分,公園的管理者負責檢點各項事務是否完成,上級領導可以視察公園等等。 也就是說,對於同一個公園,不同的訪問者有不同的行為操作,而且訪問者的種類也可能需要根據時間的推移而變化(行為的擴展性)。 根據軟件設計的開閉原則(對修改關閉,對擴展開放),我們怎麼樣實現這種需求呢? 在這個例子中,如果我們在公園類裡實現所有的訪問者行為,勢必造成以下問題: 1,由於所有的訪問者的行為各不一樣,在一個類中實現所有訪問者行為,會造成該類功能過多,代碼冗長。 2,不利於擴展。每增加一個訪問者,就需要在已有的

文档评论(0)

1亿VIP精品文档

相关文档