簡介 構造器模式,也被稱為建造者、生成器模式,是設計模式中比較容易理解的模式之一。 定義:將一個對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。 定義不太容易理解,簡單的說就是構造器模式中的對象的屬性是通過一個構造器來設置的,最後返回一個不同屬性的對象。 在js中我們在創建對象時可以 ...
簡介
構造器模式,也被稱為建造者、生成器模式,是設計模式中比較容易理解的模式之一。
定義:將一個對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。 定義不太容易理解,簡單的說就是構造器模式中的對象的屬性是通過一個構造器來設置的,最後返回一個不同屬性的對象。
在js中我們在創建對象時可以使用字面量的形式來創建對象
let o = { name: '', age: ''}
如果我們需要創建類似這樣結構的對象創建100個,我們通常會通過構造函數來生成,如下代碼
function Person(name,age){ this.name = name; this.age = age; } let person1 = new Person("mjj",28); let person2 = new Person("alex",25);
構造器模式 就是在構造函數中 初始化實例對象的屬性。上面的代碼中Person就是一個構造器。在這個構造器中,我們能夠觀察到:實例的共同點都有name、age屬性,不同點name、age的屬性值,各個實例不同,由此可見構造器封裝了實例對象實例的“變”與“不變”。
在 JavaScript 中,我們使用構造器去初始化對象,就是應用了構造器模式,通常這種函數我們叫構造函數。
構造器模式本質上是抽象了每個實例對象的變與不變,變的是各個實例屬性值的不一樣,不變的是各個對象的結構。
小結
- 構造器模式:封裝不變的共性(屬性),變化的東西(屬性的值),關註對象實例問題。
- 在JavaScript 中,我們使用構造函數去初始化對象,就是應用了構造器模式。