hyeonga_code

Spring_스프링 프레임워크 비교_디자인 패턴을 이용한 방식 본문

Spring

Spring_스프링 프레임워크 비교_디자인 패턴을 이용한 방식

hyeonga 2023. 12. 14. 06:59
반응형


- 디자인 패턴 이용하는 방식

    - basic.spring.polymorphism > 'BeanFactory.java' 클래스 생성
=====

1
2
3
4
5
6
7
8
9
10
11
package basic.spring.polymorphism;
 
public class BeanFactory {
    public Object getBean(String beanName) {
        if(beanName.equals("samsung"))
            return new SamsungTV();
        else if(beanName.equals("lg"))
            return new LgTV();
        return null;
    }
}

 

    - basic.spring.polymorphism > 'TVUser3.java' 클래스 생성
=====

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
32
33
package basic.spring.polymorphism;
 
public class TVUser3 {
    public static void main(String[] args) {
        
        BeanFactory factory = new BeanFactory();
        
        TV tv = (TV)factory.getBean(args[0]);
        tv.powerOn();
        tv.volumeUp();
        tv.volumeDown();
        tv.powerOff();
        
        TV tv2 = (TV)factory.getBean(args[1]);
        tv2.powerOn();
        tv2.volumeUp();
        tv2.volumeDown();
        tv2.powerOff();
 
            /*
                - arguments 값을 samsungTV LgTV 지정한 후 실행합니다. 
                SamsungTV 전원을 켠다.
                SamsungTV 볼륨을 올린다.
                SamsungTV 볼륨을 내린다.
                SamsungTV 전원을 끈다.
 
                LgTV 전원을 켠다.
                LgTV 볼륨을 올린다.
                LgTV 볼륨을 내린다.
                LgTV 전원을 끈다.
            */
    }
}



반응형