Défi : Compléter la fonctionnalité du projet de banque

Effectué

Vous disposez d’un programme qui utilise des fonctionnalités de base. Toutefois, il manque une fonctionnalité : la possibilité de transférer de l’argent vers un autre compte. Ce défi consiste à ajouter cette fonctionnalité, ainsi qu’une autre fonctionnalité qui nous permettra d’ajouter de la valeur à notre API existante.

Implémenter la méthode de transfert

Pour créer la méthode de transfert, vous devez garder à l’esprit les points suivants :

  • Vous devez mettre en œuvre la possibilité de transférer de l’argent vers un autre compte. Dans ce cas, vous devez initialiser le programme avec au moins deux comptes, et pas seulement un, comme nous l’avons fait précédemment.
  • Étant donné que vous allez ajouter une nouvelle méthode dans le package principal, commencez par créer le cas de test pour vous assurer d’écrire la logique appropriée pour transférer de l’argent. Portez une attention particulière à la façon dont vous communiquez entre les fonctions et les pointeurs.
  • Votre méthode de transfert doit recevoir la somme d’argent que vous souhaitez transférer et un objet de compte dans lequel vous ajouterez les fonds. Veillez à réutiliser les méthodes de dépôt et de retrait pour éviter la répétition (en particulier pour la gestion des erreurs).
  • N’oubliez pas que vous ne pouvez pas transférer de l’argent vers un autre compte si vous n’avez pas suffisamment de fonds.

Modifier le point de terminaison de l’instruction pour retourner un objet JSON

Actuellement, votre point de terminaison /statement retourne une chaîne qui n’est pas utile si vous souhaitez l’exposer en tant qu’API. Modifiez le point de terminaison pour retourner l’objet de compte dans un format JSON :

"{\"Name\":\"John\",\"Address\":\"Los Angeles, California\",\"Phone\":\"(213) 555 0147\",\"Number\":1001,\"Balance\":0}"

Nous aimerions que vous partiez du principe que toute personne utilisant votre package principal va peut-être implémenter une méthode d’instruction différente pour modifier la sortie. Vous devez donc apporter les modifications appropriées pour que votre package principal soit extensible. En d’autres termes, vous devez :

  1. Créer une interface avec une fonction Statement() string.

  2. Créez une nouvelle fonction Statement() dans votre package principal qui reçoit l’interface que vous avez créée en tant que paramètre. Cette fonction doit appeler la méthode Statement() que vos structures possèdent déjà.

    Quand vous apportez ces modifications, vous êtes autorisé à créer votre structure Account personnalisée et votre méthode Statement() personnalisée. Si vous ne vous souvenez plus de la procédure à suivre pour apporter ces modifications au code, vous pouvez revenir au module sur les structures (incorporations) et les interfaces.

Codez bien !