디자인 모델 의 공장 모델, 단일 모델
공장 모드 단일 모드 에이전트 모드 어댑터 모드 관찰자 모드 MVC 모드 등등
공장 모드
하나의 공장 류 를 만들어 같은 인 터 페 이 스 를 실현 한 일부 종 류 를 인 스 턴 스 로 만 드 는 것 이다.
인터페이스
public interface Fruit {
public void print();
}
2 개 실현 클래스
public class Apple implements Fruit{
@Override
public void print() {
System.out.println("我是一个苹果");
}
}
public class Orange implements Fruit{
@Override
public void print() {
System.out.println("我是一个橘子");
}
}
공장 류
public class FruitFactory {
public Fruit produce(String type){
if(type.equals("apple")){
return new Apple();
}else if(type.equals("orange")){
return new Orange();
}else{
System.out.println("请输入正确的类型!");
return null;
}
}
}
테스트 클래스
public class FactoryTest {
public static void main(String[] args) {
FruitFactory factory = new FruitFactory();
Fruit apple = factory.produce("apple");
apple.print();
}
}
단일 모드
단일 모델 은 디자인 모델 에서 가장 흔히 볼 수 있 고 가장 간단 한 디자인 모델 로 프로그램 에 하나의 사례 만 존재 하도록 확보한다.
역할 단일 모드 (Singleton): 하나의 인 스 턴 스 만 있 고 전체 방문 점 2, 적용 장면 을 제공 합 니 다. 1. 응용 프로그램 에서 인 스 턴 스 대상 이 자주 방문 해 야 합 니 다. 2. 응용 프로그램 에서 시작 할 때마다 하나의 인 스 턴 스 만 존재 합 니 다.예 를 들 어 계 정 시스템, 데이터베이스 시스템.3. 자주 사용 하 는 사용 방식 (1) 게으름뱅이 식 장점: 로 딩 지연 (필요 할 때 만 로 딩)
단점: 스 레 드 가 안전 하지 않 아 다 중 스 레 드 에서 동기 화 되 지 않 는 상황 이 발생 하기 쉽다.
public class Singleton {
/* 持有私有静态实例,防止被引用,此处赋值为null,目的是实现延迟加载 */
private static Singleton instance = null;
/* 私有构造方法,防止被实例化 */
private Singleton() {
}
/* 1:懒汉式,静态工程方法,创建实例 */
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
(2) 굶 주 린 사람 식
장점: 스 레 드 안전
단점: 클래스 불 러 올 때 대상 을 직접 만 듭 니 다.
public class Singleton {
/* 持有私有静态实例,防止被引用 */
private static Singleton instance = new Singleton();
/* 私有构造方法,防止被实例化 */
private Singleton() {
}
/* 1:懒汉式,静态工程方法,创建实例 */
public static Singleton getInstance() {
return instance;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.