Konspekt projektu banku online

Ukończone

Porozmawiajmy o tym, co będziemy tworzyć. Jak wspomniano wcześniej, utworzymy dwa projekty: jeden dla podstawowej logiki programu, a drugi, aby uwidocznić logikę za pośrednictwem internetowego interfejsu API. Wyobraź sobie, że jesteś teraz częścią zespołu tworzącego system banków online.

Definiowanie funkcji i wymagań

Bank online, który zamierzamy zbudować, to dowód koncepcji, który określi, czy jest to możliwe do zbudowania programu bankowego. W pierwszej iteracji interakcja z pakietem podstawowym będzie odbywać się za pośrednictwem programu interfejsu wiersza polecenia. Nie będziemy mieć interfejsu użytkownika ani utrwalać danych w bazie danych. Aby wyświetlić instrukcję konta od klienta, uwidocznimy punkt końcowy.

System banków online będzie:

  • Umożliwianie klientom tworzenia konta.
  • Umożliwienie klientom wypłaty pieniędzy.
  • Umożliwianie klientom przelewu pieniędzy na inne konto.
  • Podaj zestawienie konta z danymi klienta i ostatnim saldem.
  • Uwidaczniaj internetowy interfejs API za pośrednictwem punktu końcowego, aby wydrukować instrukcję konta.

Skompilujemy ten program razem, więc na razie nie martw się zbytnio o szczegóły.

Tworzenie początkowych plików projektu

Utwórzmy początkowy zestaw plików, których będziemy potrzebować w programie. Utworzymy pakiet Go dla całej logiki banku podstawowego i main programu do zainicjowania systemu z kilkoma klientami i akcjami, takimi jak depozyty i przelewy. Ponadto ten main program uruchomi serwer internetowego interfejsu API w celu uwidocznienia punktu końcowego dla instrukcji konta.

Utwórzmy następującą strukturę plików w $GOPATH katalogu:

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

Następnie, aby upewnić się, że możemy skupić się tylko na pisaniu kodu w odpowiednich plikach, zacznijmy pisać Hello World! program, który potwierdzi, że możemy wywołać bankcore pakiet z bankapi głównego programu.

Skopiuj i wklej następujący fragment kodu w pliku src/bankcore/bank.go:

package bank

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

Użyjemy modułów Języka Go. W src/bankcore/go.modpliku dodaj następującą zawartość, aby nadać temu pakietowi odpowiednią nazwę, aby umożliwić późniejsze odwołanie do niego:

module github.com/msft/bank

go 1.14

Następnie dodaj następujący kod, aby wywołać bankcore pakiet w pliku src/bankapi/main.go:

package main

import (
    "fmt"

    "github.com/msft/bank"
)

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

W src/bankapi/go.modsystemie musimy odwoływać bankcore się do plików pakietu lokalnie, w następujący sposób:

module bankapi

go 1.14

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

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

Aby upewnić się, że wszystko działa, otwórz terminal w $GOPATH/src/bankapi/ katalogu i uruchom następujące polecenie:

go run main.go

Powinny zostać wyświetlone następujące dane wyjściowe:

Hey! I'm working!

Te dane wyjściowe potwierdzają, że pliki projektu są skonfigurowane dokładnie tak, jak powinny. Następnie zaczniemy pisać kod w celu zaimplementowania początkowego zestawu funkcji dla naszego systemu bankowego online.