Programowanie zwinne

Programowanie zwinne Programowanie zwinne

ii.uni.wroc.pl
from ii.uni.wroc.pl More from this publisher
24.01.2014 Views

Wzorzec strategia Kiedy refaktoryzować Refaktoryzacja powielonego kodu Długa metoda Duża klasa Długa lista parametrów Wydzielenie metody Wydzielenie metody z parametrem zapisywalnym Przemieszczenie pola w górę Utworzenie metody szablonowej Wydzielenie klasy Klient + zestawienie() : string + zestawienieHTML() : string 1 Zestawienie + raport(Klient) : int + nagłówek(Klient) : string + stopka(Klient) : string + treść(Klient) : string ZestawienieTekst + nagłówek(Klient) : string + stopka(Klient) : string + treść(Klient) : string ZestawienieHTML + nagłówek(Klient) : string + stopka(Klient) : string + treść(Klient) : string Marcin Młotkowski Programowanie zwinne 23 / 62

Kiedy refaktoryzować Refaktoryzacja powielonego kodu Długa metoda Duża klasa Długa lista parametrów Jak używać takiej implementacji Wydzielenie metody Wydzielenie metody z parametrem zapisywalnym Przemieszczenie pola w górę Utworzenie metody szablonowej Wydzielenie klasy class Klient { public String zestawienie() { return new ZestawienieTekst().raport(this); } } public String zestawienieHTML() { return new ZestawienieHTML().raport(this); } Marcin Młotkowski Programowanie zwinne 24 / 62

Wzorzec strategia<br />

Kiedy refaktoryzować<br />

Refaktoryzacja powielonego kodu<br />

Długa metoda<br />

Duża klasa<br />

Długa lista parametrów<br />

Wydzielenie metody<br />

Wydzielenie metody z parametrem zapisywalnym<br />

Przemieszczenie pola w górę<br />

Utworzenie metody szablonowej<br />

Wydzielenie klasy<br />

Klient<br />

+ zestawienie() : string<br />

+ zestawienieHTML() : string<br />

1 Zestawienie<br />

+ raport(Klient) : int<br />

+ nagłówek(Klient) : string<br />

+ stopka(Klient) : string<br />

+ treść(Klient) : string<br />

ZestawienieTekst<br />

+ nagłówek(Klient) : string<br />

+ stopka(Klient) : string<br />

+ treść(Klient) : string<br />

ZestawienieHTML<br />

+ nagłówek(Klient) : string<br />

+ stopka(Klient) : string<br />

+ treść(Klient) : string<br />

Marcin Młotkowski <strong>Programowanie</strong> <strong>zwinne</strong> 23 / 62

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!