[node.js]ファクトリ
1.工場モデルのメリット
オブジェクトの作成と実装を分離できます
柔軟性と制御性の向上
オブジェクトを露出せずにオブジェクトを展開または変更できない作成者
exmaple
JavaScriptにプライベート変数はありません
従って、エンクロージャによりパッケージング
exmaple
コンテンツソース
Node.js設計モード
オブジェクトの作成と実装を分離できます
柔軟性と制御性の向上
オブジェクトを露出せずにオブジェクトを展開または変更できない作成者
exmaple
const createImage = (value) => {
if (value.includes('.jpg')) {
return new JpgImage(value)
} else if (value.includes('.gif')) {
return new GifImage(value)
} else if (value.includes('.png')) {
return new PngImage(value)
} else {
throw new Error('일치하는 확장자가 없습니다.')
}
}
2.強制パッケージング機構JavaScriptにプライベート変数はありません
従って、エンクロージャによりパッケージング
exmaple
const createPerson = (name) => {
const privateProperties = {}
const person = {
setName: (name) => {
if (!name) {
throw new Error('이름이 필요합니다')
}
privateProperties.name = name
},
getName: () => {
return privateProperties.name
},
}
person.setName(name)
return person
}
Personオブジェクトはファクトリが返す共通インタフェースであり,外部からアクセスできず,Personオブジェクトが提供するプライベート属性のみで操作できる.コンテンツソース
Node.js設計モード
Reference
この問題について([node.js]ファクトリ), 我々は、より多くの情報をここで見つけました https://velog.io/@kmw0647/node.js-팩토리Factory-1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol