Programming 에 해당하는 글3 개
2006/06/18   The Design Patterns in Java
2006/05/24   java에서 리소스 사용의 균형 (2)
2006/05/17   디미터 함수 법칙

programming/java | 2006/06/18 20:24

The Design Patterns in Java : Table of Contents

Some Background on Design Patterns
Object-Oriented Programming Concepts
Defining Design Patterns
1. Creational Patterns
The Factory Pattern
The Abstract Factory Pattern
The Singleton Factory Pattern
The Builder Pattern
The Prototype Pattern
Summary of Creational Patterns
2. Structural Patterns
The Adapter Pattern
The Bridge Pattern
The Composite Pattern
The Decorator Pattern
The Facade Pattern
The Flyweight Pattern
The Proxy Pattern
The Summary of Patterns
3. Behavioral Patterns
Chain of Responsibility
The Command Pattern
The Interpreter Pattern
The Iterator Pattern
The Mediator Pattern
The Memento Pattern
The Observer Pattern
The State Pattern
The Strategy Pattern
The Template Pattern
The Visitor Pattern
Appendix
Standard Coding Rules
UML
References

 
 
태그 : design pattern, java, Programming
이 글의 관련글(트랙백) 주소 :: http://kimkijeung.com/trackback/33

Name 
Password 
Homepage 
  secret
Comment 
  글쓰기

programming/java | 2006/05/24 21:53
C++과 달리 자바에서는 게으른 방식의 자동 객체 삭제를 사용한다. 참조가 없는 객체들은 가비지 콜랙션(garbage collection)의 후보가 되며, 만약 가비지 콜랙션이 그 객체들을 지우려고 하기만 한다면, 객체의 finalize 메서드가 호출될 것이다.
더이상 대부분 메모리 누수 책임을 지지 않게 되어 개발자에게는 아주 편해진 일이지만, C++방식대로 자원을 청소하도록 구현하기는 어려워졌다.
다행스럽게도 사려깊은 자바 언어의 설계자들은 이것을 보상하기 위한 기능 하나를 추가해두었다.
finally 절이 그것이다. try 블록에 finally절이 들어있다면, 그절안의 코드들은 try 블록 안의 코드가 한문장이라도 실행되면 반드시 실행되도록 되어있다. 예외가 던져지더라도 상관없다.
finally 절 안의 코드는 반드시 실행된다. 이말은 다음과 같은 코드로 리소스 사용의 균형을 잡을 수 있다는 뜻이다.

public void dosomething() throws IOException{
       File tmpFile = new File(tmpFileName);
       FileWriter tmp = new FileWriter(tmpFile);
       try{
               //실행코드
       }
       finally{
               tmpFile.delete();
       }
}

이 루틴에서 사용한 임시파일은 루틴에서 어떻게 나가든 지워야 한다.
finally 블록이 이렇게 간결하게 해결해 준다.
 
 
태그 : java, Programming, 리소스
이 글의 관련글(트랙백) 주소 :: http://kimkijeung.com/trackback/21
chang 2006/05/26 00:33 ReplyDelete
와 너무 어려워서 무슨말인지 하나도 모르겠다.
하튼 열심히 하는 기정군.
BlogIcon 기정e 2006/05/26 16:54 ReplyDelete
ㅋㅋ 장어른님이셨군...


Name 
Password 
Homepage 
  secret
Comment 
  글쓰기

programming/방법론 | 2006/05/17 01:39

디미터 함수 법칙은 프로그램에서 모듈간 결합도를 최소화하려 시도한다.
이법칙은 한 객체가 제공하는 메서드에 접근하기 위해 또 다른 객체들을 통하는 것을
허용하지 않는다.

디미터 함수 법칙 - 모든 메서드는 다음에 해당하는 메서드만을 호출해야 한다.

class Demeter {
  private :
     A *a;
      Int func();
  public :
        //...
        void example(B&  b);
}
void Demeter :: example(B& b){
    C c;
    Int f= func();  <----------- 자신
    b.invert(); <--------------메서드로 넘어온 인자
    a= new A();
    a->setActive(); <---------자신이 생성한 객체
    c.print(); <---------------직접 포함하고 있는 객체

}

참고 디미터 프로젝트
- 적응적 프로그래밍(Adaptive programming) 을 이용해서 소프트웨어를 유지보수하기 쉽고 진화하기도 쉽게 만드는데 초점을 두는 연구


 
 
태그 : Programming, 결합도, 디미터함수, 방법론
이 글의 관련글(트랙백) 주소 :: http://kimkijeung.com/trackback/17

Name 
Password 
Homepage 
  secret
Comment 
  글쓰기


[PREV] [1] [NEXT]

 
전체 (105)
flash (74)
math&physics (4)
programming (11)
Flex2 (1)
Mac (2)
photo (0)
project (6)
주저리주저리 (3)
유용한 자료들 (1)
diary (0)
Book (1)
web (2)
«   2009/01   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31