장 소 이 구직 공장 방법 시리즈
5948 단어 공장 방법
M: 오 랜 만 이에 요. 둘째, 요즘 또 무슨 디자인 모델 을 배 웠 어 요?나 를 찾 아와 토론 하 다.
z: 최근 에 디자인 모델 에서 Factory (정태 공장), 공장 방법 과 추상 공장 을 봤 어 요.
M: 그래, 그럼 나 너 시험 볼 거 야.우 리 는 단일 모델 에 대해 이야기 한 적 이 있 습 니 다. 당신 의 이 세 가지 디자인 모델 은 단일 모델 과 어떤 공통점 이 있 습 니까?
z: 그들 은 모두 생 성 모드 입 니 다. 말하자면 대상 을 어떻게 만 드 는 지 입 니 다.
M: 대상 을 만 드 는 방법 에 대해 서 말씀 드 리 겠 습 니 다. 자바 에서 대상 을 만 드 는 방법 이 어떤 지 아 세 요?
z: 조금 알 고 있 습 니 다. 1. new 는 2. clone 방법 을 말 할 필요 가 없습니다. clone 은 구조 함 수 를 호출 하지 않 고 직접 복사 하 는 3. 반 직렬 화 4, 반사, 최종 적 으로 구조 함 수 를 호출 하여 실현 할 수 있 습 니 다. 복습 할 수 있 습 니 다.
M;단일 모드 는 메모리 에 대상 이 하나 밖 에 없다 는 것 을 보증 하 는 것 입 니 다. 그러나 이 모드 들 은 대상 을 만 드 는 것 이 new 하나 입 니 다. 이런 일 을 하 는 것 은 얼마나 힘 든 일 입 니까? 그들 은 어떤 문 제 를 해결 하 였 습 니까?
z: 우 리 는 공장 을 설립 하고 공장 에서 대상 을 만 듭 니 다. 그러면 우 리 는 공장 이 대상 을 어떻게 만 드 는 지 알 필요 가 없습니다. 대상 의 인 터 페 이 스 를 어떻게 얻 기만 하면 됩 니 다. 대상 을 만 드 는 방식 이 변화 하면 우리 에 게 영향 을 주지 않 습 니 다. 그러면 우 리 는 구체 적 인 코드 가 아니 라 인터페이스 프로 그래 밍 을 하 는 것 이기 때문에 결합 도가 낮 아 집 니 다.
M;좋 습 니 다. 인 터 페 이 스 를 대상 으로 프로 그래 밍 을 했 습 니 다. 제 마음 에 드 는 이 야 기 를 해 보 겠 습 니 다. 정적 공장, 가장 간단 한 예 를 들 어 보 겠 습 니 다.
z: http://docs.oracle.com/javase/6/docs/api/java/lang/Integer.html 에서 지난번 에 우리 가 말 한 단일 모델 은 바로 정태 공장 이다.
public static Singleton getInstance()
{
return new Singleton();
}
정적 방법 에서 new 반환 대상 을 호출 합 니 다.
그 다음으로 jdk 중의 Integer 에는 세 가지 정적 방법 이 있 는데 다음 과 같다.
static Integer
valueOf(int i)
Returns a Integer instance representing the specified int value. static Integer
valueOf(String s)
Returns an Integer
object holding the value of the specified String
. static Integer
valueOf(String s, int radix)
Returns an Integer
object holding the value extracted from the specified String
when parsed with the radix given by the second argument. Integer 는 세 가지 정적 방법 이 있 습 니 다. Integer i=Integer.valueof("1");
구조 함수 로 대상 을 만 드 는 것 이 아니 라 정적 방법 으로 대상 을 되 돌려 줍 니 다.
http://blog.csdn.net/zdp072/article/details/17470765
M: 간단 한 공장 방법, 공장 방법, 추상 적 인 공장 방법, 그들의 장단 점 체계 에 따라 이런 방법 을 논술 하 세 요.
z: 간단 한 공장 방법 (모든 제품 의 한 공장, 수입 치 에 따라 무엇 을 생산 하 는 지 확인한다)
//
interface car
{
public void run();
}
//
public class implements car
{
public void run()
{
System.out.println("so many pople");
}
}
public class implements car
{
public void run() { System.out.println(" "); } }
, 。
public class CarFactory
{
public car getCar(String type)
{
if(type.euqlas(" "))
return new " ";
if(type.euqlas(" "))
return new ();
}
}
//
:
CarFactory fac=new CarFactory()
car MyCar=fac.getCar(" ");
car.run();
M: 간단 한 공장 에 무슨 단점 이 있 습 니까?
z: 개폐 원칙 에 부합 되 지 않 습 니 다. 솔직히 말 하면 새 차 라면 반드시 carFactory 를 수정 해 야 합 니 다.우 리 는 수요 가 바 뀔 때 종 류 를 수정 하 는 것 이 아니 라 가능 한 한 생산 류 를 확대 한다.
M: 그럼 공장 방법 은 요?이 문 제 를 해 결 했 습 니까?
z: 해결 됐어 요.공장 방법 은 구체 적 인 제품 이 고 공장 이다.위 글 에서 공장 방법 을 바 꾼 것 과 같다.
interface factory
{
public car getCar();
}
public implements factory
{
public car getCar()
{
return new ();
}
}
//
factory fac=new ();
car myCar=fac.getCar();
car.run();
M: 한 제품 에 한 공장, 실제 상황 은 한 제품 족 에 한 공장 인 데 이 상황 은 어떤 모델 로 해결 합 니까?
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 공장 설계 모델 - 공장 방법1) 추상 적 인 공장 역할: 이것 은 공장 방법 모델 의 핵심 으로 응용 프로그램 과 무관 하 다.구체 적 인 공장 역할 이 실현 되 어야 할 인터페이스 나 계승 해 야 할 부류 다.자바 에 서 는 추상 류 나 인...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.