본문 바로가기

[Developer]/Java16

Decorator Pattern OCP(Open-Cloded Principle) : 클래스는 확장에 대해서는 열려 있어야 하지만 코드 변경에 대해서는 닫혀 있어야 한다. 이것을 적용하기 위해서는 가장 바뀔 확률이 높은 부분을 중점적으로 살펴보고 원칙을 적용하는 것이 중요하다. 이러한 능력은 객체지향 시스템 디자인 경험과 지금 건드리고 있는 분야에 대한 지식이 크게 작용하게 된다. 여러 디자인 예를 보다보면 중요한 부분을 골라내는 안목이 향상될 것이다. 데코레이터 패턴은 커피전문점에서 커피를 주문할 때처럼 첨가물을 자유자재로 넣고 빼는데 능숙하게 해준다. 장식하듯이 말이다. 어떤 손님이 모카하고 휘핑 크림을 추가한 다크로스트 커피를 주문한다면?? 1. DarkRoast 객체를 가져온다. 2. Mocha 객체로 장식한다. 3. Whip 객.. 2010. 1. 13.
조금은 헷갈릴 수 있는 static과 final에 관한 진실 Yes or No로.. 답은 긁으면 나오게.ㅋ 1. Math 클래스를 쓸 때 가장 먼저 할 일은 인스턴스를 만드는 것이다. No : Math클래스는 사용하는 메소드가 static으로 선언되어 있어서 바로 사용해야 한다. 2. constructor에도 static 키워드를 붙일 수 있다. No : 생성자에는 불가능하다.(어차피 의미가 없다.) 3. static 메소드는 그 객체의 인스턴스 변수를 사용할 수 없다. Yes 4. static 메소드를 호출할 때는 레퍼런스 변수를 사용하는 것이 좋다. No : reference를 사용할 경우 어느 시점에서는 어떤 것을 가르켜야 할지 혼돈이 생길 수 있다. 5. static 변수를 써서 클래스의 인스턴스의 갯수를 셀 수 있다. Yes : 호출될 때마다 카운트가 되.. 2009. 11. 12.
Jetty 6.x 설치하기 / 실행하기 Apache activemq를 사용하다가,, erlang으로 바꾸려니... web console이 자동으로 따라오진 않는다. 따라서 activemq에서 사용하고있던 jetty를 가져오기로 했다. 설치방법은 다음과 같다. 1. 적절한 버전을 다운로드 받는다. (난 6.x가 stable하다고 나오길래... 6.1.21을 다운. 참고로 7.0 이상은 almost stable이란다.ㅡ.ㅡ;) http://dist.codehaus.org/jetty/ 2. 압축을 해제한다.(install -> unzip이다.-.-;;) • contexts - 테스트 관련 파일이 들어있다. 급하게 실행할 수 있을듯 •etc - jetty configuration 파일들이 들어있는 디렉토리 •examples - Jetty에 맞춘 샘플.. 2009. 9. 29.
CriticalSection 찾아 돌아다니다가.. 발견한 java.util.concurrent.locks 이 패키지.ㅎ 요 패키지 안에 들어있는 녀석들이 좋다.ㅎ 하마터면 오전시간 다 날릴뻔. Lock을 걸 수 있는 적당한 예제를 발견해서 이곳에 담는다. 물론 Lock class는 interface이지만 ReentrantLock class라는 녀석이 있어서 다행히 Lock과 UnLock이 가능. 또 한번 빠져들어볼까. 자바 SE 1.5 에 도입된 새로운 동기화 기능을 제공하는 Lock 예전에 본 어떤 책에서는 Before/After 패턴으로 소개하고 있었는데 이 Lock 클래스를 사용하는 방식에 그대로 적용된다. lock.lock(); try { // processing context critical section } catch ( Exception e.. 2009. 9. 2.
JDOM 시작하기 JDOM은 자바로 XML 포맷을 처리할 수 있도록 도와주는 오픈소스 라이브러리이다. JDOM을 사용하는 것은 상당히 간단하고, 또 예제 프로그램도 상당수 찾아볼 수 있기 때문에 XML 파일을 생성하거나 파싱하는 등의 작업에 유용하게 사용할 수 있다. 설치 jdom-1.0.zip 파일 받아서 압축 푼다.(http://www.jdom.org/dist/binary/) C에 앞축을 풀었다면 JAVA_HOME이 java의 폴더로 잘 잡혀있는지 본다. (C:\program files\java\jdk1.6.0_01) 압축을 푼 jdom 폴더안에(혹시나 이름은 jdom으로 바꿨다. 폴더이름) build파일이 두가지 .bat, .xml이 다 있는지 확인한다. classpath를 등록해준다. 내컴퓨터>등록정보>고급>환경변.. 2009. 8. 31.
반응형