자바 디자인 모델 - 공장 모델 분석(2)

자바 디자인 모델 - 공장 모델 분석(二)


앞에서 간단한 공장 모델을 설명했고 (문장 링크: 자바 디자인 모델인 공장 모델(1)을 분석하여 공장 방법 모델을 소개했다.
공장 방법 모델
1. 정의: 공장 부류는 생산 제품 대상을 만드는 인터페이스에 사용되고 공장 부류는 실례화된 제품 대상을 만든다.
2. 모델 구조: (공장 역할 계속 구분)
(1)팩토리(추상 공장): 모델의 핵심 유형으로 공장 방법을 설명하고 한 제품을 되돌려준다.
(2) ConcreteFactory(구체적 공장): 추상적인 공장에서 정의된 방법을 실현하고 클라이언트가 호출하여 제품의 실례를 되돌릴 수 있다.
(3) Product(추상 제품): 모든 구체적인 제품 종류의 부류는 공공 인터페이스를 제공한다.
(4) ConcreteProduct(구체적 제품): 추상적인 제품 역할을 계승하여 추상적인 방법을 실현한다.
3. 사례 분석: (또는 텔레비전을 생산하는 문제)
(1) 추상 제품류 TV
public interface TV  
{  
    public void play();  
}  

(2) 세부 제품군 HaierTV
public class HaierTV implements TV
{
    public void play()
    {
        System.out.println(" 。。。");
    }
}

(3) 특정 제품군 MiTV
public class MiTV implements TV
{
    public void play()
    {
        System.out.println(" 。。。");
    }
}

(4) 추상 팩토리 TVFactory
public interface TVFactory
{
    // 
     public TV produceTV();
}

(5) 구체적인 공장류 HaierTVFactory
public class HaierTVFactory implements TVFactory
{
    public TV produceTV()
    {
        System.out.println("Haier ");
        return new HaierTV();
    }
}

(6) 특정 공장 유형 MiTVFactory
public class MiTVFactory implements TVFactory
{
    public TV produceTV()
    {
        System.out.println(" ");
        return new MiTV();
    }
}

4. 모델의 장단점:
(1) 장점: 신제품 유형을 추가할 때 기존 시스템을 수정할 필요가 없고'개폐원칙'에 부합된다.포장 제품의 창설 세부 사항은 사용자가 주목할 필요가 없습니다.
(2) 단점: 신제품을 늘리려면 새로운 공장류를 늘리고 시스템의 복잡성을 증가시켜야 한다.
5. 모드 적용:
(1) 자바 집합 프레임워크의List와Set 등 집합은 모두 자바를 실현하거나 계승한다.util.Connection 커넥터.이 인터페이스의iterator () 방법은 집합된 Iterator 형식의 대상을 되돌려줍니다. 이 방법이 공장 방법입니다.listIterator () 방법은 구체적인 Iterator 교체기 대상을 되돌려 주는 데 사용되며, 구체적인 공장 방법입니다.
(2) JDBC에서 연결 대상, Statement 문장 대상, ResultSet 결과 집합 대상을 만들 때 공장 방법 모드를 사용했다.코드 세그먼트는 다음과 같습니다.
Connection con = DriverManager.getConnection("...... ......");
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("select * from student");

좋은 웹페이지 즐겨찾기