전체 글 (229) 썸네일형 리스트형 [자바] bridge 패턴 bridge. 다리라는 뜻이다. 둘 사이의 이어진 무언가란 뜻인데, 이 둘의 컨셉을 이해하는게 중요하다. 그게 뭐냐면 1. 기능의 클래스 계층 2. 구현의 클래스 계층 어떤 클래스가 있을 때, 이 클래스에 새로운 기능(메소드)을 추가하고 싶을 때 우리는 이 클래스를 상속하는 하위 클래스를 작성할 수 있다. 이때 부모자식간의 계층이 생겼는데 * 상위 클래스는 기본적인 기능을 가지고 있다. * 하위 클래스에서 새로운 기능을 추가한다. 와 같은 특징을 가지고 있다. 이와 같은 클래스 계층을 '기능의 클래스 계층'이라고 한다. 또 다른 새로운 기능을 추가하려면 자식의 자식, 하위클래스를 하나도 더 생성함으로써 계층이 더욱 깊어졌다할수 있다. 템플릿 메소드 패턴처럼 어떤 인터페이스와 그것을 구현한 구현클래스의 관.. [자바] composite 패턴 디렉토리(directory) 통산 윈도우에서는 폴더라고 부르는 이것은 '상자 안의 상자', 즉 디렉토리 안에 디렉토리나 파일을 가지고 있는 재귀적인 형태의 구조를 띄고 있다. 디렉토리 안에 넣을 수 있는 것, 디렉토리와 파일을 아울러 '디렉토리 엔트리(directory entry)'라고 한다. 디렉토리 안의 내용을 조사한다할때, 그것이 하위디렉토리인지, 파일인지 모르지만 통상 디렉토리 엔트리를 조사한다고 말할 수 있다. 이는 마치 그릇과 내용물의 같은 취급으로 표현할 수 있다. 마치 그릇 안에 내용물을 넣을 수 있고 더 작은 그릇을 넣을 수 있듯이... 이와 같이 그릇과 내용물을 동일시 해서 재귀적인 구조를 만들기 위한 디자인패턴을 "composite 패턴"이라고 한다. 그럼이제 파일과 디렉토리를 도식적.. [자바] Observer 패턴 '관찰자' 관찰하는 객체를 'Observer' 인터페이스를 구현하도록 하고, 관찰하려는 객체는 'Observable'을 상속한다. 다음예제는 난수를 만들고 이를 'Observer'가 관찰하고, 그 수를 출력하도록 한다. package observer; public interface Observer { public void update(NumberGenerator generator); } package observer; import java.util.ArrayList; import java.util.Iterator; public abstract class NumberGenerator { private ArrayList observers = new ArrayList(); public void addObser.. 이전 1 ··· 26 27 28 29 30 31 32 ··· 77 다음