builder

package
v0.0.0-...-e90a610 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 20, 2022 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Run

func Run()

Types

type Builder

type Builder interface {
	Reset()
	SetSeats(int)
	SetEngine(int)
	SetGPS(int)
	GetResult() Car
}

type Car

type Car struct {
	Seats  int
	Engine int
	GPS    int
}

func NewCar

func NewCar(seats, engine, gps int) *Car

NewCar has a problem: the constructor parameters can be very long

type SportsCarBuilder

type SportsCarBuilder struct {
	// contains filtered or unexported fields
}

SportsCarBuilder is the concrete builder to build the car step by step

func (SportsCarBuilder) GetResult

func (s SportsCarBuilder) GetResult() Car

func (SportsCarBuilder) Reset

func (s SportsCarBuilder) Reset()

func (SportsCarBuilder) SetEngine

func (c SportsCarBuilder) SetEngine(i int)

func (SportsCarBuilder) SetGPS

func (s SportsCarBuilder) SetGPS(i int)

func (SportsCarBuilder) SetSeats

func (s SportsCarBuilder) SetSeats(i int)

type SportsCarBuilderDirector

type SportsCarBuilderDirector struct {
	// contains filtered or unexported fields
}

func (*SportsCarBuilderDirector) Build

func (s *SportsCarBuilderDirector) Build() Car

func (*SportsCarBuilderDirector) SetBuilder

func (s *SportsCarBuilderDirector) SetBuilder(builder Builder)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL