## 2.工廠方法:
工廠方法模式本意是將實際創造的對象推遲到子類中,這樣核心類就變成了抽象類。但是在js中很難像那些傳統面向對象語言那樣去實現抽象類,所以在js中我們只需要參考他的思想即可。
我們可以把工廠函數看成是一個工廠類。在簡單模式我們,我們添加一個新的對象需要修改二處地方,在加入工廠方法模式以后,我們只需要修改一處即可。工廠方法的工廠類,他只做實例化這一件事情。我們只需要修改他的原型類即可。我們采用安全模式創建工廠對象。
~~~
let factory = function (role) {
if(this instanceof factory) {
var s = new this[role]();
return s;
} else {
return new factory(role);
}
}
factory.prototype = {
admin: function() {
this.name = '平臺用戶';
this.role = ['登錄頁', '主頁']
},
common: function() {
this.name = '游客';
this.role = ['登錄頁']
},
test: function() {
this.name = '測試';
this.role = ['登錄頁', '主頁', '測試頁'];
this.test = '我還有一個測試屬性哦'
}
}
let admin = new factory('admin');
let common = new factory('common');
let test = new factory('test');
~~~
在上述代碼中要是忘記加new了, 那么我們就獲取不到admin,common等對象了,使用安全模式可以很好的解決這個問題。
- 視覺規范
- 色彩
- 文字
- 偏移
- 圖標
- 列表組件
- 表單組件
- 詳情組件
- 其他組件
- 研發規范
- 編碼規范
- 函數式編程
- 純函數
- 柯里化
- 函數組合
- 函子
- 面向對象編程
- 設計原則
- 單一職責原則
- 里氏替換原則
- 依賴倒置原則
- 接口隔離原則
- 開閉原則
- 迪米特原則
- 組合復用原則
- 設計模式
- 創建型模式
- 工廠模式
- 簡單工廠
- 工廠方法
- 抽象工廠
- 單例模式
- 建造者模式
- 原型模式
- 結構型模式
- 適配器模式
- 橋接模式
- 過濾器模式
- 組合模式
- 裝飾器模式
- 外觀模式
- 享元模式
- 代理模式
- 行為型模式
- 責任鏈模式
- 命令模式
- 解釋器模式
- 迭代器模式
- 中介者模式
- 備忘錄模式
- 觀察者模式
- 狀態模式
- 策略模式
- 模板模式
- 訪問者模式
- 組件設計規范
- 組件文檔編寫規范
- 版本管理規范