Loading:

Promocja Helion.pl

Przeniesienie Metody - metoda Refaktoryzacji

Opis

Wykonujemy tą metodę, gdy mamy metodę, która będzie używana przez inną klasę częściej niż aktualna klasa.

Implementujemy podaną operację po przez przeniesienie metody do innej klasy, oraz zaktulizowaniu wszystkich odwołań do tego pola LUB przesunięciu samej zawartości metody do nowej metody i stworzeniu przekierowania w pierwszej metodzie do nowo powstałej metody w innej klasie. (zazwyczaj używa się pierwszej jednak opcji)

Przykład


diagram refaktoryzacji

 

Listing 1.0 pokazuje metodę przed refaktoryzacją.

Listing 2.0 ukazuje metodę/funkcję po refaktoryzacji.



Napisz Artykuł

Listing

//listing 1.0
class Projekt {
  Osoba[] uczestnicy;
}

class Osoba {
  int id;
  boolean uczestniczy(Projekt p) {
    for(int i=0; i<p.uczestnicy.length; i++) {
          if (p.uczestnicy[i].id == id) return(true);
    }
    return(false);
  }  
}

... if (x.uczestniczy(p)) ...



//listing 2.0
class Projekt {
  Osoba[] uczestnicy;
  boolean uczestniczy(Person x) {
    for(int i=0; i<uczestnicy.length; i++) {
          if (uczestnicy[i].id == x.id) return(true);
    }
    return(false);
  }  
}

class Osoba {
  int id;
}

... if (p.uczestniczy(x)) ...


Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=5&t=12170

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: divix
Ranga: Administrator serwisu Punktów: 38323
Komentarze użytkowników
    • Treść komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-17 v.1.5 | design: diviXdesign & rainbowcolors