第七次課程作業

2022-09-13 18:30:12 字數 1637 閱讀 8771

class random//生成隨機數的基類

virtual ~random() {}

};class randomnumber :public random//生成隨機數的類

randomnumber() {}

virtual ~randomnumber() {}

};class randomoperation :public random//生成隨機運算子代表數字的類

randomoperation() {}

virtual ~randomoperation() {}

};class randomclass :public random//產生隨機型別的算式

randomclass() {}

virtual ~randomclass() {}

};

簡單工廠模式其實就是建立乙個工廠,我們要用的類就是產品,要是沒有工廠,當我們要用到類時,只能讓產品自己生產,要是有了工廠,只要給工廠乙個指令,就能讓工廠生產出我們需要的產品來。

上面的生成隨機數當然也可以寫成簡單工廠模式

class random//隨機數基類

; virtual ~random() {};

};class randomnumber :public random//生成算式隨機數

};class randomoperation :public random//生成算數運算子代表數字

};class randomclass :public random//生成決定是哪一種型別的數字

};class randomfactory//工廠

}};

但是簡單工廠模式有缺點,當我們需要的產品越來越多時,就不得不修改工廠的**,這就破壞了ocp原則

ocp原則:乙個軟體實體如類,模組和函式應該對擴充套件開放,對修改關閉

所以就有了

工廠模式是我需要什麼產品,我就建立什麼工廠,這樣就不用修改工廠的**

class random//隨機數基類

; virtual ~random() {};

};class randomnumber :public random//生成算式隨機數

};class randomoperation :public random//生成算數運算子代表數字

};class randomclass :public random//生成決定是哪一種型別的數字

};class randomfactory//工廠基類

;class randomnumbe***ctory :public randomfactory//算式隨機數工廠

};class randomoperationfactory :public randomfactory//算式運算子隨機數工廠

};class randomclassfactory :public randomfactory//算式型別隨機數工廠

};

這個模式也有缺陷,就是如果需要的產品太多,維護的量也就多了

所以以後new時就要多個心眼,是否可以考慮使用工廠模式,雖然這樣做,可能多做一些工作,但會給你系統帶來更大的可擴充套件性和盡量少的修改量

第七次課程作業

github 改寫後的程式共有四類,它們之間的繼承派生關係如下 基類 class random 基類 直接派生類 生成隨機數類 class randomnumber virtual public random 生成隨機數 直接派生類 生成隨機運算子 class randomoperation vir...

第七次作業

磁碟管理和維護 磁碟檔名 dev sd a p 1 128 dev hd a p 1 128 dev vd a p 1 128 heads 磁面 sectors track 扇區 cylinders磁柱 分割槽命令 fdisk dev sd 格式化 mkfs.ext4 dev sda mkfs.xf...

第七次作業

共有一下六步 1.客戶機提出網域名稱解析請求,並將該請求傳送給本地的網域名稱伺服器。2.當本地的網域名稱伺服器收到請求後,就先查詢本地的快取,如果有該紀錄項,則本地的網域名稱伺服器就直接把查詢的結果返回。3.如果本地的快取中沒有該紀錄,則本地網域名稱伺服器就直接把請求發給根網域名稱伺服器,然後根網域...