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

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

您現(xiàn)在的位置是:蟲蟲下載站 > 資源下載 > 軟件工程 > 設(shè)計模式——訪問者模式 Visitor模式允許我們在不改動原有結(jié)構(gòu)的基礎(chǔ)之上不斷增加新的功能。 ICumulation接口定義了方法Cumulate()

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

  • 資源大小:87 K
  • 上傳時間: 2015-06-12
  • 上傳用戶:zxj334
  • 資源積分:2 下載積分
  • 標(biāo)      簽: ICumulation Cumulate Visitor 模式

資 源 簡 介

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

相 關(guān) 資 源

主站蜘蛛池模板: 奉新县| 天台县| 沙湾县| 天峨县| 股票| 穆棱市| 红安县| 镇远县| 山阳县| 平和县| 瑞昌市| 兴安盟| 郑州市| 商丘市| 嵊州市| 景泰县| 巴南区| 禄劝| 高青县| 南陵县| 太和县| 绍兴市| 江都市| 永登县| 浪卡子县| 邳州市| 汪清县| 汽车| 乡宁县| 霍山县| 遂川县| 凤台县| 呼伦贝尔市| 玉环县| 临城县| 霸州市| 合山市| 菏泽市| 渭南市| 西吉县| 申扎县|