Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feedback #1

Open
wants to merge 5 commits into
base: feedback
Choose a base branch
from
Open

Feedback #1

wants to merge 5 commits into from

Conversation

github-classroom[bot]
Copy link
Contributor

@github-classroom github-classroom bot commented Apr 8, 2024

👋! GitHub Classroom created this pull request as a place for your teacher to leave feedback on your work. It will update automatically. Don’t close or merge this pull request, unless you’re instructed to do so by your teacher.
In this pull request, your teacher can leave comments and feedback on your code. Click the Subscribe button to be notified if that happens.
Click the Files changed or Commits tab to see all of the changes pushed to main since the assignment started. Your teacher can see this too.

Notes for teachers

Use this PR to leave feedback. Here are some tips:

  • Click the Files changed tab to see all of the changes pushed to main since the assignment started. To leave comments on specific lines of code, put your cursor over a line of code and click the blue + (plus sign). To learn more about comments, read “Commenting on a pull request”.
  • Click the Commits tab to see the commits pushed to main. Click a commit to see specific changes.
  • If you turned on autograding, then click the Checks tab to see the results.
  • This page is an overview. It shows commits, line comments, and general comments. You can leave a general comment below.
    For more information about this pull request, read “Leaving assignment feedback in GitHub”.

Subscribed: @karelle19

Copy link

@ahmadshahwan ahmadshahwan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Le code ne compile pas car la classe LoggerFactory est manquante.
  • Même après correction d'erreur de compilation, le code ne s'execute pas car la classe TagAlongBike manque un constructeur sans argument.
  • Manque de la réalisation de décorateur.

private Wheel backWheel ;
public TagAlongBike(Bike parentBike, Bike childBike) {
super();
this.parentBike = parentBike;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

C'est un vélo avec

  • Un vélo parental,
  • Un vélo enfant, et
  • Deux roues.
    Ca fait une vélo à 6 roues, et implique une simulation erronée.

private Bike childBike;
private Wheel frontWheel;
private Wheel backWheel ;
public TagAlongBike(Bike parentBike, Bike childBike) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Il a fallu un constructeur sans paramètre pour que l'injection de dépendance marche.

- Oui, il existe déjà une abstraction de la classe 'Bike' qui est la classe 'Vehicle'(puisque 'Bike' etend 'Vehicle'). la méthode 'hetPush()' utilisée par 'Wheel' n'est pas astraite dans 'Vehicle', mais
pourrait être ajoutée en tant que méthode abstraite à 'Vehicle' ou en tant qu'interface séparée
- L'abstraction 'Vehicle' se trouve dans le paquetage transport
- Pour casser la dépendance cyclique, on pourrait introduire une interface, par exemple 'PushProvider', qui aurait une méthode 'getPush()'.'Bike' implémenterait cette interface ensuite, 'Wheel' ne dépendrait plus de 'Bike' directement, mais plutôt de l'interface 'PushProvider'

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Pour quoi introduire une nouvelle interface alors que Vehicle existe déjà ?
  • Il aura fallu passer par la classe Vehicle pour éviter de charger le code avec des nouveaux types.

@@ -0,0 +1,5 @@
package fr.polytech.sim.transport;

public interface PushProvider {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'inteface pourrait être replacer par la classe abstraite Vehicle.

@@ -16,4 +16,10 @@ protected NamedLogger(String name) {
this.name = name;
}

protected String logMessage(String format, Object...args){

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cette méthode ne respecte pas le patron "methode template" qui exige au moins une méthode abstraite. Voir support des cours pour plus d'info.

## Exercices 5


## Exercices 6

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Réalisation manquante dans le code.

une horloge
- La méthode fabriqueb: permet de creer des objets sans spécifier la classe exacte de l'objet qui ser crée ce qui permet de centraliser la logique de création des instances, offrant ainsi plus de flexibilité pour changer le type d'objets
crées sans changer le code qui utilise ces objets.

## Exercices 7

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Réalisation manquante de décorateur !

## Exercices 7

## Exercices 8

-Le Patron de conception de la classe context avec ServiceLoader suit le patron de conception FACADE car en encapsulant la complexité de 'ServiceLoader' derrière une interface simplifiée, 'context' rend l'utilisation des services plus accessible et plus

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Le code ne marche pas à cause de constructeur sans paramétre manquant.

this.components.add(backWheel);
}
@Override
public double getPush(){

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

À quoi ca sert cette rédifinission ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant