본문 바로가기

전체 글49

디자인패턴 - 옵저버 패턴 (observer pattern) 옵저버 패턴 (observer pattern) 한객체의 상태가바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 방식으로일대다(one-to-many) 의존성을 정의한다. 옵저버 패턴을 구현하는 방법에는 여러가지가 있지만 대부분 상태를 저장하고있는 주제 인터페이스를 구현한 하나의 주제객체와 주제객체에 의존하고있는 옵저버 인터페이스를 구현한 여러개의 옵저버객체 가 있는 디자인을 바탕으로 한다. 데이터 전달방식은 2가지가 있다.주제객체에서 옵저버로 데이터를 보내는 방식(푸시 방식)옵저버에서 주제객체의 데이터를 가져가는 방식 (풀 방식) 옵저버 패턴 클래스 다이어그램 디자인 원칙. 서로 상호작용을 하는 객체 사이에서는 가능하면 느슨하게 결합하는 디자인을 사용해야 한다. 옵저버 패턴은.. 2016. 5. 3.
디자인패턴 - 스트래티지 패턴 (strategy pattern) 스트래티지 패턴(strategy pattern) 알고리즘군을 정의하고 각각캡슐화하여 교환해서 사용할 수 있도록 만든다.스트래티지패턴을 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할수 있다. 오리 어플리케이션 게임을 운영하는 회사를 다니면서 오리게임을 만든다고 가정했을때.표준적인 객체지향 기법을 사용하여 Duck 이라는 슈퍼클래스를 만든다음 그 클래스를 확장하여 다른 종류의 오리를 만든다. 추상클래스인 Duck 클래스를 ReadHeadDuck 클래스와 MallardDuck 클래스가 상속을 받아 추상메소드인 display()를 각각 구현한다. 문제의 시작1 원래는 그럴 계획이 없었는데..오리들이 물에 떠있는 기능 이외에 날아다녀야하는 요구사항이 생겼다.간단하네.. ? 이제 모든 오리.. 2016. 5. 1.
자바 어노테이션 (Java Annotation) 서로다른시스템 간의 바이트 배열의 스트림 정보로 정보를 교환하는 작업인 전문통신을 개발하게 되었을 때였다. 바이트 스트림을 어떻게 하면 잘 정제해서 예쁘게 객체에 담을 수 있을까 고민하던 찰나. 어노테이션을 보게되었다. Annotation. 자바5부터 등장한 어노테이션된 요소들의 행동으로부터 프로그램의 행위를 추출하여, 필요시 컴파일러나 VM이상호 의존적인 코드를 생성하는, 프로그램 요소와 메타 태그에 관계된 매커니즘. @Override, @SuppressWarnings("unused") 같은 것을 많이 보아왔고, Spring Framework 에서 Annotation을 편하다 신기하네 하고 지원이 되는 것을 찾아 사용하기만 했지 직접 만들어서 사용할일은 없었다. 정보가 쭉 담겨져 오는 바이트 스트림같은.. 2016. 4. 30.
java volatile 키워드 책보다가.. 많이 사용할 일이없던 여러 키워드를 발견했었다. 이제서야 정리를 하다니 그중 하나가 volatile 키워드. 처음에 한두개 글들을 보면서 이해가 되지 않아 몇번이고 봤었다.본것중에 제일 이해가 잘가는 곳의 내용을 퍼와서 정리해보았다. 1. 아래의 내용은 블로그 http://kwanseob.blogspot.kr/2012/08/java-volatile.html 에서 가저온 것입니다.--------------------------------------------------------------------------------------------------------------------------------------------------------원 글 Java's Volatile Keywor.. 2016. 4. 30.