1. 공장 모델 컨셉
팩토리 패턴은 객체 생성을 위한 인터페이스를 정의합니다. 이 인터페이스는 하위 클래스에서 인스턴스화할 클래스를 결정합니다. 이 패턴은 클래스의 인스턴스화를 하위 클래스로 연기합니다. 서브클래스는 인터페이스 메서드를 재정의하여 생성 시 자체 객체 유형(추상 팩토리)을 지정할 수 있습니다.
이 모드는 특히 많은 설정 파일에 의존하는 등 개체 생성 과정에 값을 할당할 때 매우 유용합니다. 더욱이, 프로그램에서 하위 클래스가 생성되어야 하는 객체의 유형을 정의하도록 하는 데 사용되는 팩토리 메소드를 종종 볼 수 있습니다.
2. 팩토리 모드의 역할과 주의사항
모드 기능:
1. 오브제 구성은 매우 복잡합니다. 신발을 신는 것은 매우 간단하지만 신발을 만드는 과정은 매우 복잡합니다
2. 특정 환경에 따라 다양한 인스턴스를 생성해야 합니다. 공장에서는 신발과 옷을 만들고, 공장에서는 필요한 신발(신발이 다름)을 만들어 지정된 장소(신발)로 보냅니다. 장소는 다를 수 있음) 이는 다양한 경우에 대해 이해할 수 있습니다
3. 동일한 속성을 가진 다수의 작은 물건을 처리합니다. 예를 들어 신발 한 켤레를 구입하면 해당 물건을 생산할 공장을 찾을 필요가 없습니다.
참고:
1. 공장을 남용하지 마세요. 때로는 위의 3과 같이 코드가 복잡해질 뿐입니다.
3. 팩토리 패턴 코드 및 실무 요약
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <script> //1.工厂应该有厂长来决定运行到底哪条产品线 //2.消费者-》子类 var gongchang = {}; gongchang.chanyifu = function(){ this.gongren = 50; alert("我们有"+this.gongren); } gongchang.chanxie = function(){ this.gongren = 100; alert("产鞋子"); } gongchang.yunshu = function(){ this.gongren = 10; alert("运输"); } gongchang.changzhang = function(para){ return new gongchang[para](); } var me = gongchang.changzhang("chanxie"); alert(me.gongren); </script> </body> </html>
위 내용은 편집자가 소개한 클래식 JavaScript 디자인 패턴 팩토리 패턴입니다. 도움이 되셨으면 좋겠습니다!