Overzicht van het online bankproject

Voltooid

Laten we eens praten over wat we gaan maken. Zoals eerder vermeld, maken we twee projecten: een voor de kernlogica van het programma en een voor het beschikbaar maken van logica via een web-API. Stel dat u nu deel uitmaakt van een team dat een online banksysteem bouwt.

De functies en vereisten definiƫren

De online bank die we gaan bouwen, is een bewijs van concept, waarmee wordt bepaald of het haalbaar is om het bankprogramma te bouwen. In deze eerste iteratie wordt de interactie met het kernpakket via een CLI-programma uitgevoerd. We hebben geen gebruikersinterface of behouden gegevens in een database. Als u de accountoverzicht van een klant wilt zien, wordt er een eindpunt weergegeven.

Het online banksysteem doet het volgende:

  • Klanten in staat stellen een account te maken.
  • Klanten in staat stellen geld in te trekken.
  • Klanten in staat stellen geld over te dragen naar een ander account.
  • Geef een accountoverzicht op met klantgegevens en een eindsaldo.
  • Een web-API beschikbaar maken via een eindpunt om een accountinstructie af te drukken.

We bouwen dit programma samen, dus maak u voorlopig geen zorgen over de details.

De eerste projectbestanden maken

Laten we de eerste set bestanden maken die we nodig hebben voor het programma. We maken een Go-pakket voor alle bankkernlogica en een main programma om het systeem te initialiseren met een paar klanten en acties zoals stortingen en overdrachten. Daarnaast start dit main programma een web-API-server om een eindpunt beschikbaar te maken voor de accountinstructie.

Laten we de volgende bestandsstructuur maken in uw $GOPATH map:

$GOPATH/
  src/
    bankcore/
      go.mod
      bank.go
    bankapi/
      go.mod
      main.go

Om ervoor te zorgen dat we ons alleen kunnen richten op het schrijven van code in de juiste bestanden, gaan we beginnen met het schrijven van een Hello World! programma dat bevestigt dat we het bankcore pakket kunnen aanroepen vanuit het bankapi hoofdprogramma.

Kopieer en plak het volgende codefragment in src/bankcore/bank.go:

package bank

func Hello() string {
    return "Hey! I'm working!"
}

We gebruiken Go-modules. Voeg src/bankcore/go.modde volgende inhoud toe om dit pakket een juiste naam te geven, zodat we er later naar kunnen verwijzen:

module github.com/msft/bank

go 1.14

Voeg vervolgens de volgende code toe om het bankcore pakket aan te roepen in src/bankapi/main.go:

package main

import (
    "fmt"

    "github.com/msft/bank"
)

func main() {
    fmt.Println(bank.Hello())
}

In src/bankapi/go.modmoeten we lokaal verwijzen naar de bankcore pakketbestanden, zoals deze:

module bankapi

go 1.14

require (
    github.com/msft/bank v0.0.1
)

replace github.com/msft/bank => ../bankcore

Als u wilt controleren of alles werkt, opent u een terminal in de $GOPATH/src/bankapi/ map en voert u de volgende opdracht uit:

go run main.go

U moet de volgende uitvoer zien:

Hey! I'm working!

Deze uitvoer bevestigt dat uw projectbestanden precies zoals ze moeten zijn ingesteld. Vervolgens gaan we beginnen met het schrijven van de code om de eerste set functies voor ons online banksysteem te implementeren.