Gliedern des Onlinebank-Projekts

Abgeschlossen

Lassen Sie uns darüber sprechen, was wir erstellen werden. Wie bereits erwähnt, werden wir zwei Projekte erstellen: eines für die Kernlogik des Programms und ein weiteres, um die Logik über eine Web-API verfügbar zu machen. Stellen Sie sich vor, dass Sie jetzt Teil eines Teams sind, das ein System für eine Onlinebank erstellt.

Definieren der Features und Anforderungen

Die Onlinebank, die Sie gerade erstellen, ist ein Proof of Concept, mit dem Sie bestimmen werden, wie praktikabel es ist, das Bankprogramm zu erstellen. In dieser ersten Iteration wird die Interaktion mit dem Kernpaket über ein CLI-Programm erfolgen. Wir werden nicht über eine Benutzeroberfläche verfügen oder Daten in einer Datenbank beibehalten. Um den Kontoauszug einzelner Kund*innen anzuzeigen, machen Sie einfach einen Endpunkt verfügbar.

Das Onlinebanksystem bietet folgende Möglichkeiten:

  • Kunden können ein Konto erstellen.
  • Kunden können Geld abheben.
  • Kunden können Geld auf ein anderes Konto überweisen.
  • Es wird ein Kontoauszug mit Kundendaten und einem Endsaldo bereitgestellt.
  • Es wird eine Web-API über einen Endpunkt verfügbar gemacht, um einen Kontoauszug auszugeben.

Wir werden die Programmierung gemeinsam angehen, sodass Sie sich jetzt nicht zu viele Gedanken über die Details machen müssen.

Erstellen der anfänglichen Projektdateien

Lassen Sie uns die ersten Dateien erstellen, die wir für das Programm benötigen. Wir erstellen ein Go-Paket für die gesamte Kernlogik der Bank und ein main-Programm zur Initialisierung des Systems mit einigen Kunden und Aktionen wie Einzahlungen und Überweisungen. Zusätzlich wird dieses main-Programm einen Web-API-Server starten, um einen Endpunkt für den Kontoauszug verfügbar zu machen.

Erstellen Sie die folgende Dateistruktur in Ihrem $GOPATH-Verzeichnis:

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

Um dann sicherzustellen, dass wir uns nur auf das Schreiben von Code in den richtigen Dateien konzentrieren können, beginnen wir mit dem Schreiben eines Hello World!-Programms, das bestätigt, dass wir das bankcore-Paket vom bankapi-Hauptprogramm aus aufrufen können.

Kopieren Sie den folgenden Codeausschnitt und fügen Sie ihn in src/bankcore/bank.go ein:

package bank

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

Wir verwenden Go-Module. Fügen Sie in src/bankcore/go.mod den folgenden Inhalt ein, um diesem Paket einen geeigneten Namen zu geben, sodass wir später darauf verweisen können:

module github.com/msft/bank

go 1.14

Fügen Sie dann den folgenden Code hinzu, um das bankcore-Paket in src/bankapi/main.go aufzurufen:

package main

import (
    "fmt"

    "github.com/msft/bank"
)

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

In src/bankapi/go.mod müssen wir wie folgt lokal auf die bankcore-Paketdateien verweisen:

module bankapi

go 1.14

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

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

Um sicherzustellen, dass alles funktioniert, öffnen Sie ein Terminal im Verzeichnis $GOPATH/src/bankapi/, und führen Sie den folgenden Befehl aus:

go run main.go

Die folgende Ausgabe wird angezeigt.

Hey! I'm working!

Diese Ausgabe bestätigt, dass Ihre Projektdateien wie erwartet eingerichtet sind. Als nächstes beginnen wir mit dem Schreiben des Codes, um die ersten Features für unser Onlinebanksystem zu implementieren.