2011년 5월 25일 수요일

Split Cleaner(분리된 자원 회수기)

* 패턴이름 : 분리된 자원 회수기
* 증상 : 프로그램이 자원을 제대로 관리하지 못해서 누수가 발생하거나 너무 일찍 자원을 해제하는
일이 발생한다.
* 원인 : 실행 경로 중 몇 군데에서 제대로 자원을 해제하지 않거나 필요 이상으로 많이 해제하기 때문이다.
* 해결책과 예방책 : 자원을 획득한 메소드에서 자원의 해제도 함깨 당담한다.
-- 같은 메소드 안에서 자원의 획득와 해제를 모두 처리한다. 이런 방식을 사용하면 일단 얻은 자원이 항상 해제 된다는
것을 보장 할수 있다.
-- 가능한 각 실행 경로들을 추적해 본다. 이런 방식을 사용할 때에는 실수로 자원을 미리 해제하고 있지는 않은지
신중히 검토해보아야 한다.
@ 프로그램이 어떤 식으로 확장될 것인가를 모두 예측하고 있는 것은 자칫 시간 낭비일 수 있다.
가장 단순한 디자인을 통해 문제를 풀도록 하고 이에 대한 단위 테스트를 하도록 하자. 만약 나중에라도 확장할 일이 생기게
된다면 단위 테스트를 통해 확장 후의 코드에도 별 문제가 없는지는 쉽게 알수 있다.

댓글 없음:

댓글 쓰기

블록체인 개요 및 오픈소스 동향

블록체인(block chain) 블록체인은 공공 거래장부이며 가상 화폐로 거래할때 발생할때 발생할 수 있는 해킹을 막는 기술. 분산 데이터베이스의 한 형태로, 지속적으로 성장하는 데이터 기록 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가...