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.如果本地的快取中沒有該紀錄,則本地網域名稱伺服器就直接把請求發給根網域名稱伺服器,然後根網域...