몇 가지 안 드 로 이 드 디자인 모델 을 분석 하 다.
단일 클래스 가 하나의 인 스 턴 스 만 있 는 지 확인 하고 이 단일 클래스 는 하나의 함수 인 터 페 이 스 를 제공 하여 다른 클래스 가 이 유일한 인 스 턴 스 를 가 져 올 수 있 도록 합 니 다.
상대 적 으로 완벽 한 단일 표기 법
public class Singleton{
private volatile static Singleton instance;//volatile
// , new
private Singleton(){};
public static Singleton getInstance(){
if(instance==null){
sychronized(Singleton.class){
if(instance==null)
instance=new Singleton();
}
}
return instatnce;
}
}
빌 더 모드
주로 대상 을 만 들 때 많은 매개 변 수 를 설정 해 야 합 니 다 (setter 방법 을 통 해). 그러나 이 매개 변 수 는 특정한 순서에 따라 설정 하거나 설정 절차 에 따라 결 과 를 얻 을 수 있 습 니 다.이것 은 주로 체인 호출 에 사용 되 는데 이것 도 Builder 디자인 모델 중의 뚜렷 한 특징 이다.
public class MyBuilder{
private int id;
private String num;
public MyData build(){
MyData d=new MyData();
d.setId(id);
d.setNum(num);
return t;
}
public MyBuilder setId(int id){
this.id=id;
return this;
}
public MyBuilder setNum(String num){
this.num=num;
return this;
}
}
public class Test{
public static void main(String[] args){
MyData d=new MyBuilder().setId(10).setNum("hc").build();
}
}
공장 모드
생 성 대상 의 인 터 페 이 스 를 정의 하여 하위 클래스 가 어떤 종 류 를 예화 할 지 결정 합 니 다 (전략 모드, 상태 모드 유사)
public abstract class Product{
public abstract void method();
}
public class ConcreteProductA extends Prodect{
public void method(){
System.out.println(" A!");
}
}
public class ConcreteProductB extends Prodect{
public void method(){
System.out.println(" B!");
}
}
public abstract class Factory{
public abstract Product createProduct();
}
public class MyFactory extends Factory{
public Product createProduct(){
return new ConcreteProductA();
}
}
글 내용 부분 참조:http://www.jianshu.com/p/1a9f571ad7c0
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.