Implementação TCP Francisco Krahe Luis Brandelli.
7
Implementação TCP Francisco Krahe Luis Brandelli
-
Upload
francisco-braga -
Category
Documents
-
view
215 -
download
1
Transcript of Implementação TCP Francisco Krahe Luis Brandelli.
![Page 1: Implementação TCP Francisco Krahe Luis Brandelli.](https://reader036.fdocuments.net/reader036/viewer/2022082901/570638471a28abb8238f36bc/html5/thumbnails/1.jpg)
Implementação TCP
Francisco KraheLuis Brandelli
![Page 2: Implementação TCP Francisco Krahe Luis Brandelli.](https://reader036.fdocuments.net/reader036/viewer/2022082901/570638471a28abb8238f36bc/html5/thumbnails/2.jpg)
Teste antes!
• Teste por comparação de logs
![Page 3: Implementação TCP Francisco Krahe Luis Brandelli.](https://reader036.fdocuments.net/reader036/viewer/2022082901/570638471a28abb8238f36bc/html5/thumbnails/3.jpg)
Bad Smell
• Scheduller escalona, e não o Kernel!
![Page 4: Implementação TCP Francisco Krahe Luis Brandelli.](https://reader036.fdocuments.net/reader036/viewer/2022082901/570638471a28abb8238f36bc/html5/thumbnails/4.jpg)
Refatoração• Extract class[fowler, 149]
Kernel.java Scheduller.java
![Page 5: Implementação TCP Francisco Krahe Luis Brandelli.](https://reader036.fdocuments.net/reader036/viewer/2022082901/570638471a28abb8238f36bc/html5/thumbnails/5.jpg)
Bad Smell
• Adicionamos comportamento condicional• Para um certo valor de controle, o
escalonamento seria feito de uma maneira. Para outro valor, o comportamento mudaria.
• Antes mesmo que o problema surgisse, aplicamos a refatoração.
![Page 6: Implementação TCP Francisco Krahe Luis Brandelli.](https://reader036.fdocuments.net/reader036/viewer/2022082901/570638471a28abb8238f36bc/html5/thumbnails/6.jpg)
Refatoração
• Extract Subclass[fowler, 330]
Scheduller.java
SchedullerRR.java
![Page 7: Implementação TCP Francisco Krahe Luis Brandelli.](https://reader036.fdocuments.net/reader036/viewer/2022082901/570638471a28abb8238f36bc/html5/thumbnails/7.jpg)
Bibliografia• Fowler, Martin. Refactoring: improving the design of existing
code• Junit documentation: http://junit.sourceforge.net/javadoc