2011년 5월 26일 목요일

Replace Array with Object

String[] row = new String[3];
row [0] = "Liverpool";
row [1] = "15";

Performance row = new Performance();
row.setName("Liverpool");
row.setWins("15");



배열의 특정 요소가 다른 뜻을 가지고 있다면 배열을 각각의 요소에 대한 필드를 가지는 객체로 바꿔라.

! 동기
-      배열은 비슷한 객체가 어떤 순서대로 모여 있는 경우에 대해서만 사용되어야 한다.
! 절차
-      배열에 포함된 정보를 나타낼 새로운 클래스를 만든다. 여기에 배열을 위한 public필드를 만든다.
-      해당 배열을 사용하는 부분을 모두 새로운 클래스를 사용하도록 바꾼다.
-      배열의 요소에 get/set 메소드를 하나씩 추가하고 각 요소의 목적을 잘 나타내도록 메소드의 이름을 정한다.
-      클라이언트 코드가 이 메소드를 사용하게끔 수정한다.
-      배열에 접근하는 코드가 모두 메소드를 통하도록 바꾸고, 배열을 private 으로 만든다.
-      배열의 각요소에 대한 필드를 만들고, get/set 메소드에서 이 필드를 사용하도록 수정한다.
-      배열의 모든 요소를 필드로 바꾼 후에, 배열을 제거한다.
! 관련 리팩토링

댓글 없음:

댓글 쓰기

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

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