프로그래밍/Java
-
[JAVA Intellij] Maven-Profile을 적용하여 Resources폴더 환경에 맞게 관리하기프로그래밍/Java 2022. 5. 24. 09:07
목적 Maven을 이용하여 local(로컬), dev(개발), prod(사용) 서버를 다르게 조작하여 간편하게 db접속 정보를 바꾸는 작업을 진행 목표 java 소스에 resource 폴더를 여러개로 분리(local, dev, prod) Maven profiles 설정 각각에 환경에 맞는 db 정보가 담긴 Properties생성 resource에서 properties 파일 불러와 내용 읽기 java 소스에 resource 폴더를 여러개로 분리(local, dev, prod) resource 파일을 local(로컬 개발), dev(테스트), prod(상용버전) 별로 만들어 주었음 Maven profiles 설정 각각 환경에 맞게 DB정보를 변경할 수 있도록 설정 아래 와 같이 작성하면 선택한 프로필의 Pr..
-
[JAVA]객체 지향 디자인 패턴 - Composite Pattern(컴포지트 패턴)프로그래밍/Java 2022. 3. 29. 16:31
Composite Pattern이란? Composite는 '합성물', '혼합', '혼성' 등 이라는 뜻을 가지고 있음 합성한 객체들의 집합이라는 개념으로 이해하면 됨 컴포지트 패턴은 트리구조를 작성하고 싶을 때 사용하며, 전체- 부분 관계를 표현하는 것이다. 폴더 시스템과 같다고 보면 된다. 폴더를 하나에 두고 이 폴더는 다른 폴더 안에 들어갈 수도 있고, 하위 계층의 객체들도 가지고 있을 수 있다. Composite Pattern Structure(장식자 패턴 구조)이란? 상위 클래스(Component)를 두고 하위에 Leaf들을 둔다. 하위 Leaf들은 Composite형태로 Leaf들을 담아두는 복합체 일 수도 있고, 그냥 단순 하나의 Leaft일 수도 있다. 하위 Leaf들은 동작하는 메소드를 상..
-
[JAVA]객체 지향 디자인 패턴 - Mediator Pattern(중재자 패턴)프로그래밍/Java 2022. 3. 28. 20:35
Mediator Pattern이란? 중간에 중재자 역할을 하는 객체를 두어 어떤 특정 클래스의 내용이 변경되었을 때 어떤 특정 범위에 객체들에게 영향을 미칠 때 사용 N:M의 관계에서 1:M의 관계로 변경 하고 싶을 때 사용하는 패턴이다. Mediator Pattern Structure(장식자 패턴 구조)이란? 중간에 Mediator 객체를 둔다 양쪽으로 N개의 객체 와 M개의 객체를 둔 인터페이스를 둔어 연결 시켜 준다. N개의 객체에서 변화가 있을 때 mediator에게 호출 M개의 객체에 변경 사항을 알려준다 mediator는 M개의 객체 모두에게 이 변경 사항을 알려주어야 한다. Mediator Pattern Example 출처. 얄팍한 코딩사전 Mediator안에 Mode라는 객체 들을 담을 L..
-
[JAVA]객체 지향 디자인 패턴 - Factory Pattern(팩토리 패턴)프로그래밍/Java 2022. 3. 28. 17:55
Factory Pattern이란? 슈퍼 클래스(추상클래스)를 하나를 두고 서브클래스를 여러개 두어 호출 형식에 따라 하나의 자식 클래스의 인스턴스를 리턴해주는 패턴이다. 슈퍼 클래스 호출 부가 많아 질 것 같은 경우 코드가 더 복잡하고 고도화 되는 경우 인스턴스 생성부를 factory 메소드에 갖춰 두어 확장성을 가지게 만들기 위한 패턴이다. 클래스 호출부 형식이 바뀌거나 소스를 직접 수정 및 알 필요 없이 가져다 사용만 하고 싶을 대 사용한다. Factory Pattern Structure(팩토리 패턴 구조) 인자를 받는 Factory 클래스 및 메소드를 하나 가진다. 부모로 추상클래스 가 하나이상 존재해야한다. 부모클래스로 지정된 것에서 서브 클래스들이 존재해야한다. 자식 클래스는 부모클래스의 메소드..
-
[JAVA]객체 지향 디자인 패턴 - Decorator Pattern(장식자 패턴)프로그래밍/Java 2022. 3. 24. 19:13
Decorator Pattern이란? 객체의 결합을 통해 기능을 동적으로 유연하게 확장 할 수 있게 해주는 패턴 즉, 사용자가 필요에 따라 기능을 장착하거나, 사용자가 원하는데로 골르려고 할때 사용하기 좋은 패턴이다. Decorator Pattern Structure(장식자 패턴 구조)이란? 인터페이스를 하나 만들고 그 인터페이스를 받는 객체를 2개 생성 한다. 하나는 기본이 되는 것이고 하나는 decorator를 구현하고 싶은 객체이다. 기본이 되는 곳은 인터페이스에서 받은 것을 구현하는 것이 존재하고 decorator는 Super(상위 클래스)를 이용하여 상위 객체의 모든 내용을 구현하고 추가적으로 할 것을 구현하여 decorator같은 역할을 구현한다. 다형성을 이용하여 객체를 생성하게 되면 dec..
-
[JAVA]객체 지향 디자인 패턴 - Template Method Pattern(탬플릿 메소드 패턴)프로그래밍/Java 2022. 3. 23. 23:21
Template Method Pattern이란? 어떤 메소드안에 정해진 형식이 있고 그 형식은 무조건 지켜져야 하지만, 형식안에 구현 부는 직접 작성하여 처리 할 때 사용하는 패턴 예를 들어 API 호출 할 때 Client가 request를 요청을 하면 무조건 response를 줘야하는 템플릿 이 있다고 가정해 보면 이것은 구조화된 형식 이므로 template Method로 구현이 가능하다. 그리고 그 방식은 어떻게 구현하든 상속받은 클래스에서 구현부를 자유롭게 정의 하는것이 template Method가 하는 역할이다. 방향성 및 형태만 잡아 주는 것이라고 생각하면 좋다 인증 Request를 보내는 것과 Response 받는 것은 똑같은 형식이다 하지만 그 받는 데이터 처리 하는 과정은 Kakao와 N..
-
[JAVA]객체 지향 디자인 패턴 - Proxy Pattern(대리인 패턴)프로그래밍/Java 2022. 3. 23. 16:44
Proxy Pattern이란? 어떤 객체의 행위가 무거운 행동일 때 이 내용을 먼저 보여주지 않고 Proxy라는 대리인을 먼저 보여준다음 진짜 수행해달라고 요청을 할때 내용을 수행하는 것을 의미한다. 예를 들어 유튜브 동영상리스트를 보면 먼저 thumbnail과 제목이 보이고 마우스를 위로 올리면 preview가 보이며 그것을 클릭을 했을 때 진짜 페이지가 이동하면서 동영상이 보이는 것처럼 thumbnail과 제목이 proxy(대리인)역할이며, Preview가 보이는 것이 Real 행동이라고 보면 된다. Proxy Pattern Structure(프록시 패턴 구조) 먼저 Thumbnail이라는 인터페이스를 기준으로 ProxyThumbnail, RealThumbnail을 작성한다. ProxyThumbnai..
-
[JAVA]객체 지향 디자인 패턴 - Adapter Pattern(어댑터 패턴)프로그래밍/Java 2022. 3. 23. 15:42
Adapter Pattern이란? Adapter란 다른 나라에서는 220v사용하는 제품을 우리나라로 들고 왔을 때 우리나라는 110v제품을 사용한다면 adapter라는 것을 이용하여 v 전압수를 맞추어 충전이나 사용가능하도록 해주는 역할을 말한다. 객체지향 언어에서 adapter란 객체간의 같은 기능을 하지만, 객체의 선언부나 타입 행동들이 맞지 않을 때 객체간의 간격을 맞추어서 사용할 수 있도록 해주는 역할을 한다 Adapter Pattern Structure(어댑터 패턴 구조) 220v 전자제품 AirConditioner, Cleaner가 있고, 110v HairDryer가 있다고 해보자 그런데 제품을 무조건 110v로 맞추어 사용해야한다고 하면 220v를 adapter를 이용하여 변경한 후에 사용이..