티스토리 뷰

현재는 Client에서 paymentService를 부를 때 어떤 것을 부를 지에 대해 책임을 가진 것이 된다.

 

public class Client {
    public static void main(String[] args) throws IOException {
        //PaymentService paymentService = new PaymentService(new WebApiExRateProvider());
        ObjectFactory factory = new ObjectFactory();
        PaymentService paymentService = factory.paymentService();

        Payment payment = paymentService.prepare(100L, "USD", BigDecimal.valueOf(50.7));
        System.out.println(payment);

    }
}

public class ObjectFactory {
    public PaymentService paymentService() {
        return new PaymentService(exRateProvider());
    }

    public ExRateProvider exRateProvider() {
        return new WebApiExRateProvider();
    }
}

 

ObjectFactory를 이용해서 그 안에서 Service를 부르게끔. Controller나 Handler의 값에서 변경되는 것이 아닌, 이제는 관리의 주체가 Factory로 변경되었다.

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함