亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

ICumulation

  • 設計模式——訪問者模式 Visitor模式允許我們在不改動原有結構的基礎之上不斷增加新的功能。 ICumulation接口定義了方法Cumulate()

    設計模式——訪問者模式 Visitor模式允許我們在不改動原有結構的基礎之上不斷增加新的功能。 ICumulation接口定義了方法Cumulate(),旨在計算1+2+……+n,有兩種不同的實現方法,一個是一般的疊加算法GeneralArithmetic,一個是高斯算法GaoSiArithmetic。 因為某種原因,系統需要添加求平均值的功能,還有計算1到n的平方和。 按照一般的思路,我們需要在ICumulation中定義兩個方法分別計算平均值和平方和,并在實現類中同時添加相應的方法。在搭建了visitor模式的架構以后,添加功能的代碼被移植到ICumulationVisitor中,添加的兩種功能也分別被以子類AverageVisitor和PowerVisitor實現。 功能的擴展從在類中添加方法的方式變成了添加新類的方式,該類繼承一定的Visitor接口。這是一個90度的轉換,使得架構符合開放封閉(OCP)原則:功能的擴展無需改動原有代碼。 同時,這里也體現了單一職責原則(SRP),ICumulation層次結構可以因為出現了不同的算法而改變,但是不應該因為需要計算不同的東西(功能)而改變,算法和功能是橫向和縱向的關系。這里visitor模式隔離了算法和功能,ICumulation層次結構負責算法,ICumulationVisitor層次結構負責功能。

    標簽: ICumulation Cumulate Visitor 模式

    上傳時間: 2015-06-12

    上傳用戶:上善若水

主站蜘蛛池模板: 巴彦淖尔市| 聂拉木县| 呼和浩特市| 民县| 长垣县| 清新县| 尚志市| 孝昌县| 买车| 辉县市| 澄迈县| 陆丰市| 兰坪| 武陟县| 平遥县| 杭州市| 汤阴县| 噶尔县| 乳山市| 郯城县| 吉木乃县| 鄂托克旗| 吉木萨尔县| 泰宁县| 兴仁县| 新郑市| 汉源县| 莫力| 济源市| 新余市| 隆安县| 文水县| 清水河县| 武安市| 黑龙江省| 邢台市| 双牌县| 阿拉善左旗| 深泽县| 安乡县| 通榆县|