공장 모드 & 단일 모드
package com.factory;/*
*@author:
*@time
*/
import com.entity.Aodi;
import com.entity.Byd;
import com.entity.Car;
public class CarFactory {
public Car getCar(String type){
if(" ".equals(type)){
return Aodi.getInstance();
}
else if(" ".equals(type)){
return Byd.getInstance();
}
else
return null;
}
}
실례를 만드는 일을 공장에 맡기고 고객이 직접 실례를 접하지 않으며 고객은 차를 어떻게 만드는지 필요로 하지 않는다. 공장에 특정한 차에 대한 수요(상기 코드에서 getCar() 방법을 통해 차에 대한 수요를 전달하는 것)를 제시하고 구체적인 창설은 공장이 스스로 완성한다.다음과 같습니다.
public static void main(String[] args) {
Car car=new CarFactory().getCar(" ");
car.run();
}
방법 공장 모델;
/**
* , ,
*/
public static void test2(){
Car car1=new BydFactory().getCar();
Car car2=new BaomaFactory().getCar();
Car car3=new AodiFactory().getCar();
car1.run();
car2.run();
car3.run();
}
// , ,
import com.entity.Aodi;
import com.entity.Car;
public class AodiFactory {
public Car getCar(){
return Aodi.getInstance();
}
}
솔리드(단일 예제 모드):
아사자식:
package com.entity;/*
*@author:
*@time
*/
public class Baoma implements Car{
private Baoma(){}
/**
*
*/
private static final Baoma instance=new Baoma();;
public static Baoma getInstance(){
return instance;
}
@Override
public void run() {
System.out.println(" !");
}
@Override
public void stop() {
System.out.println(" !");
}
}
이중 검사 실현
package com.entity;/*
*@author:
*@time
*/
public class Aodi implements Car{
/**
*
*/
private static volatile Aodi instance;
private Aodi(){}
public static Aodi getInstance(){
if(instance==null){
synchronized (Aodi.class){
if(instance==null){
instance=new Aodi();
return instance;
}
}
}
return instance;
}
@Override
public void run() {
System.out.println(" !");
}
@Override
public void stop() {
System.out.println(" !");
}
}
정적 내부 클래스 구현:
package com.entity;/*
*@author:
*@time
*/
public class Byd implements Car {
/**
*
*/
private static class bydClass{
private static Byd byd=new Byd();
}
public static Byd getInstance(){
return bydClass.byd;
}
private Byd(){}
@Override
public void run() {
System.out.println(" !");
}
@Override
public void stop() {
System.out.println(" !");
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.