웹 프론트엔드 JS 튜토리얼 자바스크립트 패턴 팩토리 패턴 응용 소개_자바스크립트 기술

자바스크립트 패턴 팩토리 패턴 응용 소개_자바스크립트 기술

May 16, 2016 pm 05:48 PM
공장 모델

팩토리 패턴도 객체 생성 패턴 중 하나이며 일반적으로 클래스 또는 클래스의 정적 메서드에서 구현됩니다. 객체를 구성하는 한 가지 방법은 new 연산자를 사용하는 것이지만 new를 사용하는 것은 정확하게는 구현 프로그래밍을 위한 것이므로 "결합" 문제를 일으키고 특정 클래스와 밀접하게 관련됩니다. 이로 인해 코드가 더 취약해지고 유연성이 부족해집니다. 복잡한 논리를 사용하는 프로젝트에서는 인터페이스 지향 프로그래밍을 권장합니다.
간단한 팩토리 패턴을 먼저 보세요

코드 복사 코드는 다음과 같습니다

Person(name, age) {
var obj = {}
obj.name = name
obj.age = age
return obj
}
var p1 = Person( 'jack', 25)
var p2 = Person('lily', 22)

생성자 방식으로 클래스를 작성하는 것의 차이점은 이것을 사용하지 않고 매번 빈 개체를 만든 다음 속성을 추가하세요. 객체를 생성하는 방법은 new를 사용하는 것이 아니라 함수 호출을 사용하는 것입니다. 이 접근 방식은 기본적으로 클래스(동일한 속성을 가진 객체)를 대체하는 데 사용되는 반면, 더 복잡한 팩토리는 다양한 유형의 객체를 생성할 수 있습니다.
다음은 과일공장의 예시입니다
코드를 복사하세요 코드는 다음과 같습니다

function Banana( ) {
this.price = '$1.5'
}
function Apple() {
this.price = '$1.2'
}
function Orange () {
this .price = '$2.2'
}
// 정적 팩토리 클래스
function Fruit() {}
Fruit.factory = function(type) {
if (!window[type]) {
return
}
var Fruit = new window[type]
return Fruit
}
// 다른 과일 만들기
var 바나나 = Fruit.factory('Banana')
var apple = Fruit.factory('Apple')
var orange = Fruit.factory('Orange')

세 가지 과일 클래스가 있습니다. 바나나, 사과, 오렌지, 하나 과일 팩토리 클래스 Fruit는 정적 메소드 팩토리를 통해 매번 다른 과일 객체를 생성할 수 있습니다.
공장 패턴은
코드 복사와 같은 JavaScript 기본 개체 Object에도 반영됩니다. 코드는 다음과 같습니다.

var obj = Object(),
num = Object(1),
str = Object('s'),
boo = Object(false); >
Object는 다양한 매개변수에 따라 다양한 객체를 구성하는 공장입니다. obj는 빈 객체, num은 Number 유형 객체, str은 String 유형 객체, boo는 Boolean 유형 객체입니다.
jQuery.Callbacks도 호출될 때마다 추가, 제거, 실행 등과 같은 메서드가 포함된 개체를 반환합니다. "한 번", "기억" 등과 같은 매개변수를 기반으로 다양한 속성을 가진 개체를 구성할 수도 있습니다.

팩토리 패턴이란 객체를 반환할 수 있는 메소드를 말합니다.
이 모델을 사용하여 무엇을 할 수 있나요? 기존 DOM 객체의 메서드가 만족스럽지 않고 sayHello라는 사용자 지정 메서드를 추가하고 싶다고 가정해 보겠습니다.

코드 복사 코드는 다음과 같습니다.
function RemouldNodeObj(DomNode){
//먼저 전달된 매개변수가 Dom 노드인지 확인합니다.
if(typeof DomNode = = "object" && DomNode.nodeType == 1){
DomNode.say = function(){
alert("Hello!!")
}
}else{
경고 ("전달한 매개변수가 올바르지 않습니다!");
}
}

//다음과 같이 호출하세요.
window.onload = function(){
var oDiv = RemouldNodeObj(document.getElementById("test"));
//이 단계를 통해 oDiv에는
oDiv.say()
}

After라는 새로운 메서드가 있습니다. 위의 기초를 바탕으로 js를 호출하여 몇 가지 복잡한 기능을 구현해 보겠습니다. 코드를 살펴보세요.

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

WeChat의 방해금지 모드는 무엇을 합니까? WeChat의 방해금지 모드는 무엇을 합니까? Feb 23, 2024 pm 10:48 PM

WeChat 방해금지 모드는 무엇을 의미합니까? 요즘 스마트폰의 인기와 모바일 인터넷의 급속한 발전으로 인해 소셜 미디어 플랫폼은 사람들의 일상 생활에 없어서는 안될 부분이 되었습니다. WeChat은 중국에서 가장 인기 있는 소셜 미디어 플랫폼 중 하나이며 거의 모든 사람이 WeChat 계정을 가지고 있습니다. 우리는 위챗을 통해 친구, 가족, 동료들과 실시간으로 소통하고, 삶의 모든 것을 공유하고, 서로의 현재 상황을 배울 수 있습니다. 그러나 이 시대에 우리는 또한 정보의 과잉과 개인정보 유출의 문제에 필연적으로 직면하게 됩니다. 특히 집중하거나 집중해야 하는 사람들에게는 더욱 그렇습니다.

iPhone에서 절전 모드는 무엇에 사용됩니까? iPhone에서 절전 모드는 무엇에 사용됩니까? Nov 04, 2023 am 11:13 AM

iOS 기기에서는 오랫동안 건강 앱을 사용하여 수면 패턴 등을 추적할 수 있었습니다. 그런데 자고 있는 동안 알림으로 방해를 받으면 짜증이 나지 않나요? 이러한 알림은 관련성이 없으므로 그 과정에서 수면 패턴을 방해할 수 있습니다. 방해금지 모드는 잠자는 동안 주의가 산만해지는 것을 피할 수 있는 좋은 방법이지만, 밤에 받는 중요한 전화와 메시지를 놓칠 수 있습니다. 고맙게도 여기에서 절전 모드가 시작됩니다. 이에 대해 자세히 알아보고 iPhone에서 사용하는 방법을 알아보세요. iPhone에서 수면 모드는 어떤 역할을 합니까? 수면 모드는 "건강" 앱의 수면 일정에 따라 자동으로 활성화되는 iOS의 전용 집중 모드입니다. 알람을 설정하는 데 도움이 됩니다.

iPhone에서 방해 금지 모드가 작동하지 않음: 수정 iPhone에서 방해 금지 모드가 작동하지 않음: 수정 Apr 24, 2024 pm 04:50 PM

방해 금지 모드에서 전화를 받는 것조차 매우 짜증나는 경험이 될 수 있습니다. 이름에서 알 수 있듯이 방해 금지 모드는 모든 수신 전화 알림과 이메일, 메시지 등의 알림을 끕니다. 다음 솔루션 세트를 따라 문제를 해결할 수 있습니다. 수정 1 – 초점 모드 활성화 휴대폰에서 초점 모드를 활성화합니다. 1단계 – 위에서 아래로 스와이프하여 제어 센터에 액세스합니다. 2단계 – 다음으로 휴대폰에서 "초점 모드"를 활성화합니다. 집중 모드는 전화기에서 방해 금지 모드를 활성화합니다. 수신 전화 알림이 전화기에 표시되지는 않습니다. 수정 2 - 초점 모드 설정 변경 초점 모드 설정에 문제가 있는 경우 이를 수정해야 합니다. 1단계 – iPhone 설정 창을 엽니다. 2단계 – 다음으로 집중 모드 설정을 켭니다.

epc+o 모드는 무엇을 의미합니까? epc+o 모드는 무엇을 의미합니까? Nov 09, 2022 am 10:54 AM

epc+o 모델은 설계, 조달 등을 통합하는 일반적인 계약 프레임워크를 의미합니다. 이는 EPC에서 파생된 일부 운영 링크입니다. 즉, 건설 기간 동안 일반 계약자는 전통적인 의미의 설계 작업을 수행해야 합니다. 또한 운영 기간 동안 모든 유지 관리 작업도 수행해야 합니다. 이 모델은 많은 프로젝트의 운영 효율성을 크게 향상시키고 운영 비용을 빠르게 절감할 수 있습니다.

Windows 10/11에서 S 모드를 종료하는 방법 Windows 10/11에서 S 모드를 종료하는 방법 Aug 03, 2023 pm 08:17 PM

Windows S 모드는 Microsoft Store에서만 앱 설치를 허용하여 향상된 보안 및 성능을 제공하도록 설계되었습니다. 이 기능은 맬웨어를 방지하고 안전한 컴퓨팅 환경을 보장하는 데 도움이 되지만 Microsoft Store가 아닌 소스에서 응용 프로그램을 설치하려는 사용자를 제한할 수 있습니다. 이러한 상황에 처해 있고 Windows 10/11에서 S 모드를 종료하는 방법에 대해 계속 고민한다면 올바른 위치에 오신 것입니다. 두 가지 다른 방법을 사용하여 Windows 10/11에서 전환하는 방법을 안내해 드리겠습니다. S 모드로 전환하면 어디에서나 자유롭게 앱을 설치할 수 있습니다. Windows에서 S 모드를 전환하는 방법 알아보기

iPhone 15 Pro: 상태 표시줄에서 무음 모드 기호를 제거하는 방법 iPhone 15 Pro: 상태 표시줄에서 무음 모드 기호를 제거하는 방법 Sep 24, 2023 pm 10:01 PM

iPhone 15 Pro 및 iPhone 15 Pro Max 모델에서 Apple은 볼륨 버튼 위의 기존 벨소리/무음 스위치를 대체하는 물리적으로 프로그래밍 가능한 작업 버튼을 도입했습니다. 동작 버튼은 여러 가지 다른 기능을 수행하도록 프로그래밍할 수 있지만 무음 모드와 벨소리 모드 사이를 전환하는 기능은 사라지지 않습니다. 기본적으로 작업 버튼을 길게 누르면 장치가 조용해지고 버튼의 촉각 피드백이 세 번 깜박입니다. 두 iPhone 15 Pro 모델 모두 상태 표시줄의 시간 옆에 줄이 그어진 벨 기호가 표시되어 무음/무음 모드가 활성화되었음을 나타내며, 동작 버튼을 다시 길게 눌러 기기의 음소거를 해제할 때까지 이 상태가 유지됩니다. iPhone을 무음 모드로 설정하고 싶은 경우

iOS 17의 대기 모드 사용 안내 iOS 17의 대기 모드 사용 안내 Aug 22, 2023 pm 04:01 PM

iOS17이 설치된 iPhone에 대기 모드가 추가되었습니다. 이 가이드는 iPhone에서 이 기능을 사용하는 방법을 보여주기 위한 것입니다. 대기 모드는 iPhone을 역동적이고 항상 켜져 있는 스마트 디스플레이로 바꿔주는 획기적인 기능입니다. 충전 중에 iPhone을 옆으로 눕혀 놓으면 대기 모드가 활성화됩니다. 이 모드는 현재 시간, 지역 날씨 업데이트, 좋아하는 사진의 슬라이드쇼, 음악 재생 컨트롤 등을 포함하되 이에 국한되지 않는 다양한 유용한 위젯을 아름답게 보여줍니다. 이 모드의 중요한 장점은 알림을 표시하여 사용자가 iPhone을 완전히 깨우지 않고도 알림을 보고 참여할 수 있다는 것입니다. 대기 모드를 사용하는 방법 대기 모드가 제대로 작동하려면 iPhone이 실행 중이어야 합니다.

'Notepad++ 다크 모드'와 'Notepad++ 다크 테마'를 활성화하는 방법은 무엇입니까? 'Notepad++ 다크 모드'와 'Notepad++ 다크 테마'를 활성화하는 방법은 무엇입니까? Oct 27, 2023 pm 11:17 PM

Notepad++ 다크 모드 v8.0에는 매개 변수가 없으며 Notepad++는 가장 유용한 텍스트 편집기입니다. Windows 10에서 실행되는 모든 앱은 다크 모드를 지원합니다. Chrome, Firefox, Microsoft Edge와 같은 웹 브라우저의 이름을 지정할 수 있습니다. Notepad++에서 작업하는 경우 기본 흰색 배경이 눈을 아프게 할 수 있습니다. 개발자는 Notepad++ 버전 8에 다크 모드를 추가했습니다. 이를 켜는 방법은 다음과 같습니다. Windows 11/10용 메모장 활성화 ++ 다크 모드 메모장 실행 ++ "설정" > "기본 설정" > "다크 모드"를 클릭하고 "다크 모드 활성화"를 선택하여 메모장을 다시 시작하세요.

See all articles