일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- c3 초
- c3 축 없애기
- influxdb 설치
- centos pyhon 설치
- 1697
- python popen
- gcc 업데이트
- 정규식 컴파일
- g++ 업데이트
- selinux port 등록
- gcc regex
- 백준
- regex_search
- c3 second
- c3 step graph
- linux시간으로 변경
- c3 축 가리기
- grafana dashboard
- python subprocess
- snmp
- semanage
- telegraf
- python os
- InfluxDB
- subporcess path
- 정규식 활용
- CentOS7
- snmp test
- c++ 정규식
- 정규식 문자열 출력
- Today
- Total
목록Java(폐지) (52)
리셋 되지 말자
의사 코드 운전자가 종합 쇼핑몰에서 타이어를 구매한다. 운전자가 종합 쇼핑몰에서 자동차를 구매한다. 운전자가 자동차에 타이어를 장착한다. 자바로 표현 - 속성 메서드 사용 ApplicationContext context = new ClassPathXmlApplicationContext("expert002/expert002.xml"); Car car = context.getBean("car", Car.class); Tire tire = context.getBean("tire", Tire.class); car.setTire(tire);소스 코드 - Driver.java를 제외한 파일들은 모두 동일 Driver.java (기존의 생산과정에서 구매 과정으로 변경됨) package expert002; import..
의사 코드 운전자가 타이어를 생산한다. 운전자가 자동차를 생산한다. 운전자가 자동차에 타이어를 장착한다. 앞의 코드의 문제점은 차를 만들고나면, 타이어를 교체 못하는다는 것이다. Tire tire1 = new KoreaTier(); Car car1 = new Car(tire1); 현실적인 방법은, 차 주인이 타이어를 교체하고 싶을 때 교체할 수 있도록 하는것! 이를 구현하기 위해서는 생성자가 아닌 속성을 통한 의존성 주입이 필요 자바로 표현 - 속성 접근자 메서드 사용 Tire tire = new new KoreaTire(); Car car = new Car(); car.setTire(tire); 시퀀스 다이어그램 클래스 다이어그램 소스코드 Car.java package expert001_03; publ..
의사 코드 운전자가 타이어를 생산한다. 운전자가 자동차를 생산하면서 타이어를 장착한다. 자바로 표현-생성자 사용 TIre tire = new KoreaTire(); Car car = new Car(tire); 주입이란 외부에서라는 뜻을 내포하는 단어다. 자동차 내부에서 타이어를 생산하는 것이 아니라 외부에서 생산된 타이어를 자동차에 장착하는 작업이 '주입'이다. Tire에 대한 의존성을 해결한 경우 Car 객체가 Tire를 직접 생산하는, 즉 Tire에 대한 Car의 의존성을 자체적으로 해결한 방식 itre 객체를 Car 생성자의 인자로 주입(장착) 시퀀스 다이어그램 클래스 다이어그램 Car 생성자의 인자로 Tire가 들어감. 나머지는 동일 소스 코드 Tire.java package exp..
스프링을 적용하지 않은 방식의 기존 자바 코드 클래스 다이어그램 시퀀스 다이어그램 소스 코드 Tire.java package expert001_01; public interface Tire { String getBrand(); } KoreaTire.java package expert001_01; public class KoreaTire implements Tire { public String getBrand() { return "코리아 타이어"; } } AmericaTire.java package expert001_01; public class AmericaTire implements Tire{ public String getBrand() { return "미국 타이어"; } } Car.java pack..
의존성이란 의사코드 운전자가 자동차를 생산한다. 자동차는 내부적으로 타이어를 생상한다. 자바코드 new Car(); Car 객체 생성자에서 new Tire(); 의존성은 new다. new를 실행하는 Car와 Tire 사이에는 Car가 Tire에 의존한다. 결론적으로는 전체가 부분에 의존한다. 참고 집합 관계: 부분이 전체와 다른 생명 주기를 가질 수 있다. ex) 집과 냉장고 구성 관계: 부분은 전체와 같은 생명 주기를 갖는다. ex) 사람과 심장
전략 패턴의 구성요소 전략 메서드를 가진 전략 객체 전략 객체를 사용하는 컨텍스트(전략 객체의 사용자/소비자) 전략 객체를 생성해 컨텍스트에 주입하는 클라이언트(제3자, 전략 객체의 공급자) 클라이언트는 다양한 전략 중 하나를 선택해 생성한 후 컨텍스트에 주입한다. 예시 - 군인 군인과 군인 사용할 무기와 군인을 지휘하는 장교가 있다고 가정한다. 여기서는 군인이 컨텍스트, 무기가 전략 객체, 장교가 클라이언트다. 이를 코드로 나타내면 아래와 같다. Strategy.java package strategyPattern2; public interface Strategy { public abstract void runStrategy(); } StrategyGun.java package strategyPatter..
책보다 설명이 잘 되어 있어서 링크 남김. https://victorydntmd.tistory.com/292 https://meylady.tistory.com/53?category=795226 전략 패턴 객체들이 할 수 있는 행위 각각에 대해 전략 클래스를 생성하고, 유사한 행위들을 캡슐화 하는 인터페이스를 정의하여, 객체의 행위를 동적으로 바꾸고 싶은 경우 직접 행위를 수정하지 않고 전략을 바꿔주기만 함으로써 행위를 유연하게 확장하는 방법을 말합니다. 간단히 말해서 객체가 할 수 있는 행위들 각각을 전략으로 만들어 놓고, 동적으로 행위의 수정이 필요한 경우 전략을 바꾸는 것만으로 행위의 수정이 가능하도록 만든 패턴입니다. 예시 코드 MovableStrategy.java package strategyPa..
팩토리 메서드 패턴 팩토리 메서드는 객체를 생성 반환하는 메서드를 말한다. 여기에 패턴이 붙으면, '하위 클래스에서 팩토리 메서드를 오버라이딩하여 객체를 반환하게 하는 것'을 의미한다. 예시 코드 Coffee.java package factoryMethodPattern; public abstract class Coffee { public abstract String getName(); } Americano.java package factoryMethodPattern; public class Americano extends Coffee{ public String getName() { return "Americano"; } } Moka.java package factoryMethodPattern; publi..