Factory Method 패턴 응용

구름코딩·2020년 10월 23일

Java 디자인 패턴

목록 보기
6/12

Factory Method 방법에서 객체의 인터페이스와 공장의 인터페이스 두개를 사용하는 대신
객체의 인터페이스만을 사용하고 객체 클래스에서 내부 정적 클래스를 통해 Factory를 선언하여 사용하는 방식도 있다

public class Book implements Product{

    String bookName;

    public Book(String bookName) {
        this.bookName = bookName;
    }

    @Override
    public void use() {
        System.out.println(bookName+"을 읽습니다");
    }

    public static class Factory {
        public static Book create(String bookName)
        {
            return new Book(bookName);
        }
    }
}

단, 이런 경우 Product인터페이스가 아닌 Book클래스형으로 객체를 받아야한다
-> 결합도는 낮아지지 않지만 구현의 편이성은 좀더 편해진다

Book클래스 안의 Factory클래스의 create메소드 사용

Book springBook = Book.Factory.create("스프링 마스터하기");
springBook.use();

//출력
스프링 마스터하기을 읽습니다
profile
내꿈은 숲속의잠자는공주

0개의 댓글