JS의 싱글톤 모드는 데이터 추가, 삭제, 수정 및 쿼리를 구현합니다.
이 글에서는 데이터 추가, 삭제, 수정, 확인 기능을 캡슐화하기 위해 디자인 패턴에서 싱글턴 모드 기반의 JS 구현을 주로 소개하고, 예제 폼과 결합하여 싱글턴 기반의 자바스크립트 관련 운용 기술을 분석합니다. 데이터베이스의 추가, 삭제, 수정, 확인을 위한 모드와 ajax가 필요하신 분들은 참고하시면 됩니다
이 글의 예시에서는 JS가 데이터베이스를 기반으로 데이터의 추가, 삭제, 수정, 확인 기능을 캡슐화하는 방법을 설명합니다. 디자인 패턴의 싱글턴 패턴(Singleton). 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
단일 케이스 패턴
단일 케이스 패턴의 핵심 구조에는 싱글톤이라는 특수 클래스만 포함되어 있습니다. 싱글톤 패턴은 시스템의 클래스에 인스턴스가 하나만 있도록 보장할 수 있습니다. 싱글톤 패턴의 원래 정의는 "Design Patterns"(Addison Wesley, 1994)에 나와 있습니다. "클래스에 인스턴스가 하나만 있음을 보장하고 해당 클래스에 대한 액세스를 제공합니다. 전역 액세스 포인트입니다. "
싱글톤 패턴 정의: "
클래스에는 인스턴스가 하나만 있으며 인스턴스화되어 전체 시스템에 제공됩니다. "var Singleton = (function(){
SingletonClass() {
}
var singleton = null;
return {
getInstance: function() {
if (singleton == null) {
singleton = new singletonClass();
} else {
return singleton;
}
}
}
})();
Singleton.getIntance();
코드는 다음과 같습니다Add function
$(".add").click(function(){ $.ajax({ type: "post" dataType:"json", url: "http://www.jb51.net/", data: {name:"csdn博客",dir:"web前端"}, success: function( result ){ if ( result.status ) { alert("新增成功!") } else { alert("新增失败") } }, error: function(){ alert("新增出现异步,请得新增加或联系技术管理员"); } }); });
Delete function
$(".del").click(function(){ $.ajax({ type: "post" dataType:"json", url: "http://www.jb51.net/", data: {id:"1"}, success: function( result ){ if ( result.status ) { alert("删除成功!") } else { alert("删除失败") } }, error: function(){ alert("新增出现异步,请得新增加或联系技术管理员"); } }); });
위의 두 코드 조각은 간략하게 설명합니다. 함수를 삭제하려면 JS 코드를 추가하세요. 일부 학생들은 ajax 요청의 일부가 동일하다는 공통점을 발견했는데, 삭제 기능을 다른 곳에서도 사용한다면 어떨까요? , 그런 다음 다른 곳에 동일한 코드를 작성해야 합니다. 많이 불편하네요
개선하자
var SingletonCRUD = (function(){ SingletonClass() {} SingletonClass.prototype = { constructor: SingletonClass, add: function( data ) { $.ajax({ type: "post" dataType:"json", url: "http://www.jb51.net/", data: data, success: function( result ){ if ( result.status ) { alert("新增成功!") } else { alert("新增失败") } }, error: function(){ alert("新增出现异步,请得新增加或联系技术管理员"); } }); }, remove: function( data ) { $.ajax({ type: "post" dataType:"json", url: "http://www.jb51.net/", data: data, success: function( result ){ if ( result.status ) { alert("删除成功!") } else { alert("删除失败") } }, error: function(){ alert("新增出现异步,请得新增加或联系技术管理员"); } }); } } var singleton = null; return { getInstance: function() { if (singleton == null) { singleton = new singletonClass(); } else { return singleton; } } } })(); var curd = SingletonCRUD.getIntance(); $(".add").click(function(){ var data = {"name":"name"}; curd.add( data ); }); $(".del").click(function(){ var data = {"id": 1}; curd.remove( data ); });
저는 툴 도구 클래스를 만들 때 싱글톤 인스턴스를 자주 사용합니다.
디자인 패턴 사용의 장점: 디커플링, 강력한 가독성, 명확한 코드 구조;
위의 작은 예를 통해 , 클릭 이벤트에서 데이터 획득(클릭 이벤트 기능)과 작업 데이터(ajax 요청)를 분리합니다.
싱글톤 모드를 최적화한 후의 코드:
var SingletonCRUD = (function(){ SingletonClass() {} SingletonClass.prototype = { constructor: SingletonClass, ajax: function(url, data success ){ $.ajax({ type: "post" dataType:"json", url: url, data: data, success: success, error: function(){ alert("新增出现异步,请得新增加或联系技术管理员"); } }); }, add: function( data ) { this.ajax("http://www.jb51.net/", data, function( result ){ if ( result.status ) { alert("新增成功!") } else { alert("新增失败") } }); }, remove: function( data ) { this.ajax("http://www.jb51.net/", data, function( result ){ if ( result.status ) { alert("删除成功!") } else { alert("删除失败") } }); } } var singleton = null; return { getInstance: function() { if (singleton == null) { singleton = new singletonClass(); } else { return singleton; } } } })();
위는 모두를 위해 컴파일한 것입니다. 앞으로는 모두에게 도움이 될 것입니다.
관련 기사:
ES6에서 하위 구성 요소를 사용하여 상위 구성 요소를 호출하는 방법Angular에서 동적 양식을 만드는 방법Angularjs에서 $http를 사용하여 Excel 파일의 비동기 업로드 구현위 내용은 JS의 싱글톤 모드는 데이터 추가, 삭제, 수정 및 쿼리를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











지난주 내부 사퇴와 외부 비판의 물결 속에서 OpenAI는 대내외적 난관에 봉착했다. - 미망인 여동생의 침해로 글로벌 열띤 논의가 촉발됐다. - '대군주 조항'에 서명한 직원들이 잇달아 폭로됐다. - 네티즌들은 울트라맨의 '' 일곱 가지 대죄" ” 소문 파기: Vox가 입수한 유출된 정보와 문서에 따르면 Altman을 포함한 OpenAI의 고위 경영진은 이러한 지분 회수 조항을 잘 알고 있었고 이에 서명했습니다. 또한 OpenAI가 직면한 심각하고 시급한 문제인 AI 보안이 있습니다. 최근 가장 눈에 띄는 직원 2명을 포함해 보안 관련 직원 5명이 퇴사하고, '슈퍼얼라인먼트' 팀이 해체되면서 OpenAI의 보안 문제가 다시 한 번 주목을 받고 있다. 포춘지는 OpenA가

이 웹사이트는 7월 9일에 AMD Zen5 아키텍처 "Strix" 시리즈 프로세서에 두 가지 패키징 솔루션이 있을 것이라고 보고했습니다. 더 작은 StrixPoint는 FP8 패키지를 사용하고 StrixHalo는 FP11 패키지를 사용합니다. 출처: videocardz 출처 @Olrak29_ 최근 밝혀진 바에 따르면 StrixHalo의 FP11 패키지 크기는 37.5mm*45mm(1687제곱밀리미터)로 Intel의 AlderLake 및 RaptorLake CPU의 LGA-1700 패키지 크기와 동일합니다. AMD의 최신 Phoenix APU는 25*40mm 크기의 FP8 패키징 솔루션을 사용합니다. 이는 StrixHalo의 F가

70B 모델에서는 1000개의 토큰을 몇 초 만에 생성할 수 있으며 이는 거의 4000자로 변환됩니다! 연구진은 Llama3를 미세 조정하고 가속 알고리즘을 도입하여 기본 버전과 비교하여 속도가 13배 빨라졌습니다. 속도가 빠를 뿐만 아니라 코드 재작성 작업 성능도 GPT-4o를 능가합니다. 이 성과는 인기 있는 AI 프로그래밍 아티팩트인 Cursor를 개발한 팀과 OpenAI도 투자에 참여한 anysphere에서 이루어졌습니다. 빠른 추론 가속 프레임워크로 잘 알려진 Groq에서는 70BLlama3의 추론 속도가 초당 300개 토큰이 조금 넘는다는 사실을 아셔야 합니다. Cursor의 속도 덕분에 거의 즉각적인 완전한 코드 파일 편집이 가능하다고 할 수 있습니다. 어떤 사람들은 좋은 사람이라고 커스를 넣으면

Java 프레임워크에서 디자인 패턴과 아키텍처 패턴의 차이점은 디자인 패턴이 클래스와 객체(예: 팩토리 패턴) 간의 상호 작용에 중점을 두고 소프트웨어 디자인의 일반적인 문제에 대한 추상적인 솔루션을 정의한다는 것입니다. 아키텍처 패턴은 계층화된 아키텍처와 같은 시스템 구성 요소의 구성 및 상호 작용에 중점을 두고 시스템 구조와 모듈 간의 관계를 정의합니다.

26일 뉴스에 따르면 2024년 상하이 세계이동통신회의(MWC 상하이) 개막식에서 양지에 차이나모바일 회장이 연설을 했다. 그는 현재 인류사회는 정보가 지배하고 정보와 에너지가 깊이 융합되는 4차 산업혁명, 즉 '디지털·지능 혁명'에 진입하고 있으며, 새로운 생산력의 형성이 가속화되고 있다고 말했다. Yang Jie는 증기기관이 주도하는 '기계화 혁명'부터 전기와 내연기관이 주도하는 '전기화 혁명', 컴퓨터와 인터넷이 주도하는 '정보 혁명'에 이르기까지 모든 산업 혁명이 다음을 기반으로 한다고 믿습니다. "정보"와 "에너지"가 주력으로 생산성 향상을 가져옵니다

믿을 수 없을 정도로, AI 모델을 훈련시키기 위해 뉴욕 주립대학교 교수는 GoPro와 같은 카메라를 딸의 머리에 묶었습니다! 믿을 수 없을 만큼 들리지만, 이 교수의 행동은 사실 근거가 충분합니다. LLM 뒤에 있는 복잡한 신경망을 훈련하려면 대규모 데이터가 필요합니다. 현재의 LLM 교육 프로세스가 반드시 가장 간단하고 효율적인 방법입니까? 확실히! 과학자들은 유아기의 뇌가 스펀지처럼 물을 흡수하여 빠르게 일관된 세계관을 형성한다는 사실을 발견했습니다. LLM은 때때로 놀라운 성능을 발휘하지만 시간이 지남에 따라 인간의 아이들은 모델보다 더 똑똑하고 창의적이 됩니다! 아이들이 언어를 마스터하는 비결. LLM을 더 나은 방법으로 훈련하는 방법은 무엇입니까? 과학자들이 해결책에 대해 의아해할 때,

11일 본 사이트의 소식에 따르면, 경제일보는 오늘(11일) 폭스콘그룹이 현재 주류인 패널레벨팬아웃패키징(FOPLP) 반도체 솔루션을 중심으로 첨단 패키징 분야에 진출했다고 보도했다. 1. 자회사 이노룩스에 이어 폭스콘그룹이 투자한 샤프도 일본 패널급 팬아웃 패키징 분야 진출을 발표해 2026년 생산에 들어갈 예정이다. 폭스콘 그룹 자체가 AI 분야에서 충분한 영향력을 갖고 있고, 첨단 패키징의 단점을 보완해 향후 더 많은 AI 제품 주문 수용을 촉진하는 '원스톱' 서비스를 제공할 수 있다. 이 사이트에서 참조한 공개 정보에 따르면 폭스콘 그룹은 현재 샤프 지분 10.5%를 보유하고 있으며 현 단계에서는 지분을 늘리거나 줄이지 않고 그대로 유지할 것이라고 밝혔습니다.

데코레이터 패턴은 원래 클래스를 수정하지 않고도 객체 기능을 동적으로 추가할 수 있는 구조적 디자인 패턴입니다. 추상 컴포넌트, 콘크리트 컴포넌트, 추상 데코레이터, 콘크리트 데코레이터의 협업을 통해 구현되며, 변화하는 요구에 맞게 클래스 기능을 유연하게 확장할 수 있습니다. 이 예에서는 우유와 모카 데코레이터가 총 $2.29의 가격으로 Espresso에 추가되어 객체의 동작을 동적으로 수정하는 데코레이터 패턴의 힘을 보여줍니다.
