단일 피스 모드 설명
1. 설명 : 단일 피스 모드는 정적 액세스에서 인스턴스화 된 객체입니다. 이 객체는 고유 한 입구를 통해서만 액세스 할 수 있습니다. Java 및 .NET C#과 같은 서버 측 동적 언어에서 클래스 작업이 원활하게 수행되도록하고 데이터의 혼란을 유발하는 병렬 작업을 피할 수 있습니다.
2. 단일 피스 모드의 이점 :
1>. 빈번한 메모리 작업 속도를 높이고 메모리를 점유하지 않도록 새로운 작업을 줄입니다.
2>. 대형 시스템에서 객체의 오버 헤드를 최소화합니다.
3>. 위에서 언급 한 바와 같이, 특정 유형의 운영에는 병렬 처리로 인한 데이터 이상을 피하기 위해 정확한 시퀀스 및 운영을 보장 할 수 있습니다.
물론 위에서 언급 한 이점은 모두 서버 언어에 있습니다. JavaScript와 같은 약한 언어에서는 스크립트가 자신의 클라이언트에서 작동하며 운영 충돌 문제가 없기 때문에 걱정하지 마십시오. 전체 서버 만 사용하는 것과 동일하므로 누가 데이터를 작동할지 걱정하지 마십시오.
인스턴스 소스 코드
코드 사본은 다음과 같습니다.
var 싱글 톤 = {
인스턴스 : null,
MailSender : function () {
var self = 이것;
self.to = '';
self.title = '';
self.content = '';
self.send = function () {
// 몸을 보내십시오
}
},
getInstance : function () {
if (this.instance == null) {
this.instance = new Singleton.mailsender ();
}
this.Stance;
}
}
사용 방법 :
코드 사본은 다음과 같습니다.
var mail = singleton.getinstance ();
mail.to = 'toname#mail.com';
mail.title = '단일 피스 모드 보내기';
mail.content = '내용 보내기';
mail.send ();
DWZ와 같은 Rich UI 프레임 워크와 같은 일부 글로벌 프레임 워크가 글로벌 싱글 톤을 생성하고 Singleton.instance가 가치가 있으면 다시 만들 필요가 없습니다.
물론, 이와 같이 쓰여진 경우 더 명확하고 서버 언어와 동일합니다.
코드 사본은 다음과 같습니다.
Singleton.getInstance (). to = 'toname#mail.com';
Singleton.getInstance (). title = '단일 피스 모드 보내기';
Singleton.getInstance (). content = '내용 보내기';
Singleton.getInstance (). send ();
다른 실제 지침
단일 피스 모드는 어디에 더 유용합니까? 예를 들어, 대규모 동시 조작과 같은 작동 서버에 통합 구성 파일이 있으면 교환의 작동 프로세스 레코드 등과 같이 먼저오고 도착하는 상황에주의를 기울여야합니다. 단일 피스 모드에서 작동 할 수 있습니다.
또한 : 단일 피스 모드 방법 :
1. 위의 길은 게으른라고 불립니다
2. 배고픈 막대기의 방법 :
코드 사본은 다음과 같습니다.
var 싱글 톤 = {
인스턴스 : New Singleton.mailsender (),
MailSender : function () {
var self = 이것;
self.to = '';
self.title = '';
self.content = '';
self.send = function () {
// 몸을 보내십시오
}
},
getInstance : function () {
this.Stance;
}
}
사용하는 것과 같은 방법;
클로저를 사용하여 단일 피스 패턴을 만들고 인스턴스 개체를 숨기십시오.
1. 코드 :
코드 사본은 다음과 같습니다.
var singleton = (function () {
var instance = null;
기능 mailsender () {
this.to = '';
this.title = '';
this.content = '';
}
mailsender.prototype.send = function () {
// 몸을 보내십시오
}
반품 {
getInstance : function () {
if (instance == null) {
인스턴스 = 새 MailSender ();
}
반환 인스턴스;
}
}
}) ();
2. 사용 방법 :
코드 사본은 다음과 같습니다.
// 동일한 사용법
var mail = singleton.getinstance ();
mail.to = 'toname#mail.com';
mail.title = '닫힌 단일 피스 모드 보내기';
mail.content = '내용 보내기';
mail.send ();