java(31)
-
[디자인패턴] 템플릿 메서드 패턴(Template Method Pattern)
템플릿 메서드 패턴 정의상위 클래스에서 처리의 흐름을 제어하며, 하위 클래스에서 처리의내용을 구체화 한다.여러 클래스에 공통되는 사항은 상위 추상 클래스에서 구현하고,각각의 상세부분은 하위 클래스에서 구현한다. 코드의 중복을 줄이고, Refactoring에 유리한 패턴으로 상속을통한 확장 개발 방법으로써 전략패턴(StrategyPattern)과 함께 가장 많이 사용 되는 패턴중 한이다. 내용- 고려사항Template Method는 위험성을 어느 정도 내포하고 있습니다. 바로 전체적인 프로세스가 바뀌는 것입니다. 상위 클래스에서 변동이 일어날 경우 하위 클래스가 안전하리라는 보장은 할 수 없습니다. 상위 클래스에 abstract method가 하나만 추가되어도 모든 하위 클래스는 변경이 불가피합니다. 나중..
2016.11.10 -
[디자인패턴] 어댑터 패턴(Adater patterns)
어댑터 패턴(Adater patterns) 정의한 클래스의 인터페이스를 클라이언트에서 사용하고자 하는 다른인터페이스로 변환합니다.어댑터를 이용하면 인터페이스 호환성 문제에 같이 쓸 수 없는클래스들을 연결해서 사용 할 수 있습니다. 내용 -신규 클래스에 이전 클래스를 연동해서 사용이 가능하게 할 수 있다. 예) 110V 전자제품을 220V로 변환 해주는 어댑터를 꼽아 사용하는 형태와 유사하다. 형식을 맞추어 사용하도록 하는 구조기존 객체를 원하는 형식으로 바꾸어(adapt) 사용하는 방식기존 객체의 인터페이스 호환성을 맞춰줌클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 패턴클래스 어댑터(상속을 이용) + 인스턴스 어댑터(위임을 이용) - 어댑터 패턴을 구현하는 방식에는 두가지 형태가 존..
2016.11.09 -
[디자인패턴] Strategy pattern(스트래티지 / 전략 패턴)
Strategy pattern(스트래티지 / 전략 패턴) 정의알고리즘 군을 정의하고 각각을 캡슐화하여 교환해서 사용 할 수 있도록 만든다.스트래티지를 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다. 즉, 하나의 결과를 만드는 목적은 동일하나 그 목적을 달성할 수 있는방법이 여러가지가 존재할 경우 기본이 되는 템플릿 메서드패턴(Templat Method pattern)과 함께 가장 많이 사용되는 패턴. 내용일반적으로는 객체의 메서드에 대한 알고리즘이 미리 정해져있고, 정해진 알고리즘에 따라 어플리케이션 수행중에 그 메서드가 불리면 정해진 알고리즘이 불리게 된다. 전략패턴 에서는 이 알고리즘이 여러개가 설정되어있고, 수행중에 이 알고리즘 중에 하나가 선택되어 가변 적으로 수..
2016.11.08 -
[java] 가변 인자
가변인자 문법은 JDK5.0 버전부터 추가 되었다. 메소드를 호출하는데 인자가 고정적이지 않을 때 가변인자 문법을 사용하면 배열이나 Collection을 사용하지 않아도 된다. 사용법사용법은 간단하다. 메소드에서 매개변수값 앞에 …만 붙여주면 된다. class A{ private String a; public A(String a) { this.a = a; } public String toString() { return "A [a=" + a + "]"; } } public class ArgsTest { public static void main(String[] args) { display("헬로우","안녕","반가워"); aDisplay(new A("hello"), new A("hi"), new A("ni..
2016.06.23 -
[JSON] Array 형태의 JSON String을 Java의 ArrayList generic형태로 변환하기
json라이브러리중에 GSON 라이브러리를 사용해서 Array 형태의 JSON String을 ArrayList 형태로 자동 변환을 해보도록 하겠습니다. 1.JSON?123456789101112[ { title:'초보를 위한 Java' , author:'홍길동' , isbn : 'A000022200f' } , { title:'Java 개발자' , author:'이몽룡' , isbn : 'A1111100ff0' }]2. Java?12345class Book { private String title; private String author; private String isbn;}3. JSON to ArrayList?12345Gson gson = new Gson();Type type = new TypeToken..
2016.01.08 -
[정규표현식] java Regular Expression
[펌] http://lng1982.tistory.com/141 정규표현식은 특정한 규칙을 가지는 문자를 표현하는데 사용하는 형식 언어이다.정규표현식을 잘 모를 때에는 validation 체크가 상당히 고단하고, 지루했지만 정규표현식을 자유 자재로 다룰 줄 알게 되면 상당한 시간을 단축할 수 있고, 유용하며 코드가 깔끔해 진다. 가끔 표현식을 까먹는 경우가 있어 이곳에 표로 정리를 하고, 각 표현식에 대한 테스트 케이스를 만들어 보았다. 표현식 설명 ^ 문자열의 시작$ 문자열의 종료 . 임의의 한 문자 (문자의 종류 가리지 않음) 단, \ 는 넣을 수 없음 * 앞 문자가 없을 수도 무한정 많을 수도 있음+ 앞 문자가 하나 이상? 앞 문자가 없거나 하나있음 [] 문자의 집합이나 범위를 나타내며 두 문자 사이..
2015.12.10