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
Listing 1.0 pokazuje metodę przed refaktoryzacją.
Listing 2.0 ukazuje metodę/funkcję po refaktoryzacji.
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)) ...
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)) ...
Dodano przez: divix
Ranga: Administrator serwisu Punktów: 0
Ranga: Administrator serwisu Punktów: 0
Komentarze użytkowników
:: Losowe artykuły
:: Wymiana linków
Modowe inspiracje |
Android Gry i Aplikacje |
ZaplanujTransport.pl: Przeprowadzki, transport, aukcje |
Logo dla firmy |
Change Tires - Car Weather Forecast Reminder |
Laminas: MVC Framework for PHP |
IT Books Reviews and Programming: JS, JAVA, PHP, ANDROID, CSS |
Katalog roślin |
Programming articles: JAVA, PHP, C++, Python, JavaScript |
Kancelaria Adwokacka Łukasz Huszno