SYMBOL INDEX (326 symbols across 28 files) FILE: src/behaviour/command/command.go type Stock (line 7) | type Stock struct method Set (line 12) | func (stock *Stock) Set(name string, quantity int) { method Buy (line 17) | func (stock *Stock) Buy(s Stock) { method Sell (line 22) | func (stock Stock) Sell(s Stock) { type Order (line 28) | type Order interface type BuyStock (line 31) | type BuyStock struct method Execute (line 35) | func (buy BuyStock) Execute() { type SellStock (line 40) | type SellStock struct method Execute (line 44) | func (sell SellStock) Execute() { type Broker (line 49) | type Broker struct method SetOrder (line 53) | func (broker *Broker) SetOrder(order Order) { method Call (line 57) | func (broker Broker) Call() { function main (line 62) | func main() { FILE: src/behaviour/interpreter/interpreter.go type Expression (line 8) | type Expression interface type TerminalExpression (line 12) | type TerminalExpression struct method SetData (line 16) | func (te *TerminalExpression) SetData(data []string) { method Interpret (line 22) | func (te *TerminalExpression) Interpret(ifo string) bool { type AndExpression (line 29) | type AndExpression struct method Interpret (line 34) | func (and *AndExpression) Interpret(info string) bool { type Context (line 39) | type Context struct method Init (line 45) | func (cx *Context) Init() { method FreeRide (line 55) | func (cx Context) FreeRide(info string) { function main (line 63) | func main() { FILE: src/behaviour/iterator/iterator.go type Iterator (line 7) | type Iterator interface type Aggregate (line 12) | type Aggregate interface type ConcreteIterator (line 17) | type ConcreteIterator struct method Init (line 22) | func (it *ConcreteIterator) Init(objs []interface{}) { method First (line 27) | func (it *ConcreteIterator) First() interface{} { method HasNext (line 32) | func (it *ConcreteIterator) HasNext() bool { method Next (line 38) | func (it *ConcreteIterator) Next() interface{} { type ConcreteAggregate (line 46) | type ConcreteAggregate struct method Add (line 50) | func (a *ConcreteAggregate) Add(obj interface{}) { method Remove (line 56) | func (a *ConcreteAggregate) Remove(obj interface{}) { method GetIterator (line 67) | func (a *ConcreteAggregate) GetIterator() Iterator { function main (line 72) | func main() { FILE: src/behaviour/mediator/mediator.go type Mediator (line 7) | type Mediator interface type ConcreteMediator (line 11) | type ConcreteMediator struct method Register (line 15) | func (mediator *ConcreteMediator) Register(cl Colleague) { method Reply (line 21) | func (mediator *ConcreteMediator) Reply(cl Colleague) { method Exist (line 28) | func (mediator *ConcreteMediator) Exist(cl Colleague) bool { type Colleague (line 37) | type Colleague interface type ConcreteColleague1 (line 42) | type ConcreteColleague1 struct method SetMediator (line 46) | func (cl *ConcreteColleague1) SetMediator(m Mediator) { method Receive (line 49) | func (cl *ConcreteColleague1) Receive() { method Send (line 52) | func (cl *ConcreteColleague1) Send() { type ConcreteColleague2 (line 57) | type ConcreteColleague2 struct method SetMediator (line 61) | func (cl *ConcreteColleague2) SetMediator(m Mediator) { method Receive (line 64) | func (cl *ConcreteColleague2) Receive() { method Send (line 67) | func (cl *ConcreteColleague2) Send() { function main (line 72) | func main() { FILE: src/behaviour/memento/memento.go type Originator (line 7) | type Originator struct method SetState (line 21) | func (originator *Originator) SetState(state string) { method GetState (line 25) | func (originator Originator) GetState() string { method CreateMemento (line 28) | func (originator *Originator) CreateMemento() Memento { method RestoreMemento (line 31) | func (originator *Originator) RestoreMemento(mem Memento) { type Memento (line 10) | type Memento struct method SetState (line 14) | func (mem *Memento) SetState(state string) { method GetState (line 18) | func (mem Memento) GetState() string { type Caretaker (line 36) | type Caretaker struct method SetMemento (line 40) | func (caretaker *Caretaker) SetMemento(mem Memento) { method GetMemento (line 43) | func (caretaker Caretaker) GetMemento() Memento { function main (line 46) | func main() { FILE: src/behaviour/observer/observer.go type Subject (line 7) | type Subject interface type Observer (line 12) | type Observer interface type ConcreteSubject (line 15) | type ConcreteSubject struct method Add (line 19) | func (cs *ConcreteSubject) Add(ob Observer) { method Remove (line 25) | func (cs *ConcreteSubject) Remove(ob Observer) { method NotifyObserver (line 32) | func (cs *ConcreteSubject) NotifyObserver() { type ConcreteObserver1 (line 39) | type ConcreteObserver1 struct method Response (line 42) | func (ob *ConcreteObserver1) Response() { type ConcreteObserver2 (line 47) | type ConcreteObserver2 struct method Response (line 50) | func (ob *ConcreteObserver2) Response() { function main (line 54) | func main() { FILE: src/behaviour/responsibility/responsibility.go type Handle (line 7) | type Handle interface type ConcreteHandle1 (line 12) | type ConcreteHandle1 struct method SetNext (line 16) | func (handle *ConcreteHandle1) SetNext(next Handle) { method GetNext (line 19) | func (handle *ConcreteHandle1) GetNext() Handle { method HandleRequest (line 22) | func (handle *ConcreteHandle1) HandleRequest(request string) { type ConcreteHandle2 (line 34) | type ConcreteHandle2 struct method SetNext (line 38) | func (handle *ConcreteHandle2) SetNext(next Handle) { method GetNext (line 41) | func (handle *ConcreteHandle2) GetNext() Handle { method HandleRequest (line 44) | func (handle *ConcreteHandle2) HandleRequest(request string) { function main (line 55) | func main() { FILE: src/behaviour/state/state.go type State (line 7) | type State interface type ConcreteStateA (line 10) | type ConcreteStateA struct method Handle (line 13) | func (state *ConcreteStateA) Handle(context *Context) { type ConcreteStateB (line 18) | type ConcreteStateB struct method Handle (line 21) | func (state *ConcreteStateB) Handle(context *Context) { type Context (line 27) | type Context struct method Init (line 31) | func (context *Context) Init() { method SetState (line 34) | func (context *Context) SetState(state State) { method GetState (line 37) | func (context *Context) GetState() State { method Handle (line 40) | func (context *Context) Handle() { function main (line 43) | func main() { FILE: src/behaviour/strategy/strategy.go type Strategy (line 7) | type Strategy interface type ConcreteStrategyA (line 10) | type ConcreteStrategyA struct method StrategyMethod (line 13) | func (s ConcreteStrategyA) StrategyMethod() { type ConcreteStrategyB (line 17) | type ConcreteStrategyB struct method StrategyMethod (line 20) | func (s ConcreteStrategyB) StrategyMethod() { type Context (line 24) | type Context struct method SetSrategy (line 28) | func (cx *Context) SetSrategy(strategy Strategy) { method GetSrategy (line 31) | func (cx *Context) GetSrategy() Strategy { method StrategyMethod (line 34) | func (cx *Context) StrategyMethod() { function main (line 38) | func main() { FILE: src/behaviour/template/temlpate.go type AbstractClass (line 5) | type AbstractClass interface type ConcreteClass (line 11) | type ConcreteClass struct method AbstractMethod1 (line 15) | func (cc *ConcreteClass) AbstractMethod1() { method AbstractMethod2 (line 21) | func (cc *ConcreteClass) AbstractMethod2() { method SpecificMethod (line 28) | func (cc *ConcreteClass) SpecificMethod() { method TemplateMethod (line 31) | func (cc *ConcreteClass) TemplateMethod() { type ConcreteA (line 37) | type ConcreteA struct method AbstractMethod1 (line 41) | func (_ *ConcreteA) AbstractMethod1() { method AbstractMethod2 (line 44) | func (_ *ConcreteA) AbstractMethod2() { type ConcreteB (line 48) | type ConcreteB struct method AbstractMethod1 (line 52) | func (_ *ConcreteB) AbstractMethod1() { method AbstractMethod2 (line 55) | func (_ *ConcreteB) AbstractMethod2() { function main (line 59) | func main() { FILE: src/behaviour/visitor/visitor.go type Visitor (line 7) | type Visitor interface type VisitorA (line 11) | type VisitorA struct method VisitA (line 19) | func (visotor VisitorA) VisitA(a *ConcreteElementA) { method VisitB (line 23) | func (visotor VisitorA) VisitB(b *ConcreteElementB) { type VisitorB (line 13) | type VisitorB struct method VisitA (line 28) | func (visotor VisitorB) VisitA(a *ConcreteElementA) { method VisitB (line 32) | func (visotor VisitorB) VisitB(b *ConcreteElementB) { type Element (line 15) | type Element interface type ConcreteElementA (line 37) | type ConcreteElementA struct method Accept (line 40) | func (e *ConcreteElementA) Accept(visitor Visitor) { method OperationA (line 43) | func (e *ConcreteElementA) OperationA() { type ConcreteElementB (line 47) | type ConcreteElementB struct method Accept (line 50) | func (e *ConcreteElementB) Accept(visitor Visitor) { method OperationB (line 53) | func (e *ConcreteElementB) OperationB() { type ObjectStructure (line 57) | type ObjectStructure struct method Accept (line 61) | func (o *ObjectStructure) Accept(visitor Visitor) { method Add (line 66) | func (o *ObjectStructure) Add(e Element) { method Remove (line 72) | func (o *ObjectStructure) Remove(e Element) { function main (line 82) | func main() { FILE: src/creator/builder/builder.go type Parlour (line 7) | type Parlour struct method SetTV (line 13) | func (p *Parlour) SetTV(tv string) { method SetWall (line 16) | func (p *Parlour) SetWall(wall string) { method SetSofa (line 19) | func (p *Parlour) SetSofa(sofa string) { method Show (line 22) | func (p *Parlour) Show() { type Decorator (line 26) | type Decorator interface type ConcreteDecorator1 (line 33) | type ConcreteDecorator1 struct method SetParlour (line 37) | func (cd1 *ConcreteDecorator1) SetParlour(parlour *Parlour) { method BuildWall (line 41) | func (cd1 ConcreteDecorator1) BuildWall() { method BuildTV (line 45) | func (cd1 ConcreteDecorator1) BuildTV() { method BuildSofa (line 49) | func (cd1 ConcreteDecorator1) BuildSofa() { method GetResult (line 53) | func (cd1 ConcreteDecorator1) GetResult() *Parlour { type ConcreteDecorator2 (line 57) | type ConcreteDecorator2 struct method SetParlour (line 61) | func (cd2 *ConcreteDecorator2) SetParlour(parlour *Parlour) { method BuildWall (line 65) | func (cd2 ConcreteDecorator2) BuildWall() { method BuildTV (line 69) | func (cd2 ConcreteDecorator2) BuildTV() { method BuildSofa (line 73) | func (cd2 ConcreteDecorator2) BuildSofa() { method GetResult (line 77) | func (cd2 ConcreteDecorator2) GetResult() *Parlour { type ProjectManager (line 81) | type ProjectManager struct method SetDecorator (line 85) | func (manager *ProjectManager) SetDecorator(builder Decorator) { method Decorate (line 88) | func (manager *ProjectManager) Decorate() *Parlour { function main (line 95) | func main() { FILE: src/creator/factory/abstract/abstract.go type Product1 (line 10) | type Product1 interface type Product2 (line 13) | type Product2 interface type ConcreteProduct11 (line 18) | type ConcreteProduct11 struct method Show1 (line 22) | func (p ConcreteProduct11) Show1() { type ConcreteProduct12 (line 27) | type ConcreteProduct12 struct method Show1 (line 31) | func (p ConcreteProduct12) Show1() { type ConcreteProduct21 (line 36) | type ConcreteProduct21 struct method Show2 (line 40) | func (p ConcreteProduct21) Show2() { type ConcreteProduct22 (line 45) | type ConcreteProduct22 struct method Show2 (line 49) | func (p ConcreteProduct22) Show2() { type AbstractFactory (line 54) | type AbstractFactory interface type ConcreteFactory1 (line 60) | type ConcreteFactory1 struct method NewProduct1 (line 64) | func (fc ConcreteFactory1) NewProduct1() Product1 { method NewProduct2 (line 68) | func (fc ConcreteFactory1) NewProduct2() Product2 { type ConcreteFactory2 (line 74) | type ConcreteFactory2 struct method NewProduct1 (line 78) | func (fc ConcreteFactory2) NewProduct1() Product1 { method NewProduct2 (line 82) | func (fc ConcreteFactory2) NewProduct2() Product2 { function NewFactory (line 86) | func NewFactory(name string) AbstractFactory { function init (line 100) | func init() { function main (line 104) | func main() { FILE: src/creator/factory/method/method.go type Product (line 10) | type Product interface type ConcreteProduct1 (line 15) | type ConcreteProduct1 struct method Show (line 19) | func (p1 ConcreteProduct1) Show() { type ConcreteProduct2 (line 24) | type ConcreteProduct2 struct method Show (line 28) | func (p2 ConcreteProduct2) Show() { type AbstractFactory (line 33) | type AbstractFactory interface type ConcreteFactory1 (line 38) | type ConcreteFactory1 struct method NewProduct (line 42) | func (fc ConcreteFactory1) NewProduct() Product { type ConcreteFactory2 (line 48) | type ConcreteFactory2 struct method NewProduct (line 52) | func (fc ConcreteFactory2) NewProduct() Product { function NewFactory (line 56) | func NewFactory(name string) AbstractFactory { function init (line 70) | func init() { function main (line 79) | func main() { FILE: src/creator/factory/simple/simple.go constant SQUARE (line 8) | SQUARE = "square" constant CIRCLE (line 9) | CIRCLE = "circle" constant RECTANGLE (line 10) | RECTANGLE = "rectangle" type Shape (line 13) | type Shape interface type Square (line 17) | type Square struct method draw (line 22) | func (s Square) draw() { type Circle (line 18) | type Circle struct method draw (line 26) | func (c Circle) draw() { type Rectangle (line 19) | type Rectangle struct method draw (line 30) | func (r Rectangle) draw() { type ShapeFactory (line 20) | type ShapeFactory struct method getShape (line 33) | func (factory ShapeFactory) getShape(shape string) Shape { function main (line 47) | func main() { FILE: src/creator/prototype/prototype.go type Cloneable (line 7) | type Cloneable interface type SunWuKong (line 10) | type SunWuKong struct method Clone (line 16) | func (wukong SunWuKong) Clone() *SunWuKong { function main (line 23) | func main() { FILE: src/creator/singleton/hungry/hungry.go type HungrySingleton (line 7) | type HungrySingleton struct method String (line 13) | func (singleton *HungrySingleton) String() string { method Name (line 16) | func (singleton *HungrySingleton) Name() string { method SetName (line 19) | func (singleton *HungrySingleton) SetName(name string) { method GetInstance (line 23) | func (singleton *HungrySingleton) GetInstance() *HungrySingleton { function init (line 26) | func init() { function main (line 29) | func main() { FILE: src/creator/singleton/lazy/lazy.go type HungrySingleton (line 8) | type HungrySingleton struct method String (line 14) | func (singleton *HungrySingleton) String() string { method Name (line 17) | func (singleton *HungrySingleton) Name() string { method SetName (line 20) | func (singleton *HungrySingleton) SetName(name string) { method GetInstance (line 24) | func (singleton *HungrySingleton) GetInstance() *HungrySingleton { function main (line 36) | func main() { FILE: src/creator/singleton/once/once.go type HungrySingleton (line 8) | type HungrySingleton struct method String (line 15) | func (singleton *HungrySingleton) String() string { method Name (line 18) | func (singleton *HungrySingleton) Name() string { method SetName (line 21) | func (singleton *HungrySingleton) SetName(name string) { method GetInstance (line 25) | func (singleton *HungrySingleton) GetInstance() *HungrySingleton { function main (line 32) | func main() { FILE: src/structure/adapter/demo1/adapter.go type Target (line 7) | type Target interface type Adaptee (line 10) | type Adaptee interface type AdapteeImpl (line 13) | type AdapteeImpl struct method SepcificRequest (line 17) | func (adaptee AdapteeImpl) SepcificRequest() { type Adapter (line 21) | type Adapter struct method New (line 26) | func (adapter *Adapter) New() { method Request (line 29) | func (adapter Adapter) Request() { function main (line 34) | func main() { FILE: src/structure/adapter/demo2/adapter.go type Motor (line 5) | type Motor interface type ElectricMotor (line 9) | type ElectricMotor struct method ElectricDrive (line 12) | func (em ElectricMotor) ElectricDrive() { type OpticalMotor (line 16) | type OpticalMotor struct method opticalDrive (line 19) | func (om OpticalMotor) opticalDrive() { type ElectricAdapter (line 23) | type ElectricAdapter struct method New (line 27) | func (ea ElectricAdapter) New() { method Drive (line 30) | func (ea ElectricAdapter) Drive() { type OpticalAdapter (line 34) | type OpticalAdapter struct method New (line 38) | func (op OpticalAdapter) New() { method Drive (line 41) | func (op OpticalAdapter) Drive() { function main (line 44) | func main() { FILE: src/structure/bridge/bridge.go type Color (line 7) | type Color interface type Yellow (line 10) | type Yellow struct method Color (line 13) | func (color Yellow) Color() string { type Red (line 17) | type Red struct method Color (line 20) | func (color Red) Color() string { type Kind (line 24) | type Kind interface type Wallet (line 27) | type Wallet struct method Kind (line 30) | func (wallet Wallet) Kind() string { type HandBag (line 34) | type HandBag struct method Kind (line 37) | func (handBag HandBag) Kind() string { type Bag (line 41) | type Bag interface type ChooseBag (line 46) | type ChooseBag struct method SetColor (line 51) | func (bag *ChooseBag) SetColor(color Color) { method SetKind (line 54) | func (bag *ChooseBag) SetKind(kind Kind) { method GetName (line 57) | func (bag *ChooseBag) GetName() { function main (line 60) | func main() { FILE: src/structure/composite/safe/safe.go type Component (line 5) | type Component interface type Leaf (line 9) | type Leaf struct method SetName (line 13) | func (l *Leaf) SetName(name string) { method Operation (line 17) | func (l *Leaf) Operation() { type Composite (line 21) | type Composite struct method NewChildren (line 25) | func (coms *Composite) NewChildren() { method Add (line 28) | func (coms *Composite) Add(c Component) { method Remove (line 31) | func (coms *Composite) Remove(c Component) { method GetChild (line 94) | func (coms *Composite) GetChild(i int) Component { method Operation (line 97) | func (coms *Composite) Operation() { function main (line 102) | func main() { FILE: src/structure/composite/transparent/transparent.go type Component (line 5) | type Component interface type Leaf (line 12) | type Leaf struct method SetName (line 16) | func (l *Leaf) SetName(name string) { method Add (line 19) | func (l *Leaf) Add(c Component) { method Remove (line 22) | func (l *Leaf) Remove(c Component) { method GetChild (line 25) | func (l *Leaf) GetChild(i int) Component { method Operation (line 28) | func (l *Leaf) Operation() { type Composite (line 32) | type Composite struct method NewChildren (line 36) | func (coms *Composite) NewChildren() { method Add (line 39) | func (coms *Composite) Add(c Component) { method Remove (line 42) | func (coms *Composite) Remove(c Component) { method GetChild (line 108) | func (coms *Composite) GetChild(i int) Component { method Operation (line 111) | func (coms *Composite) Operation() { function main (line 116) | func main() { FILE: src/structure/decorator/decorator.go type Shape (line 7) | type Shape interface type Circle (line 11) | type Circle struct method Draw (line 15) | func (c Circle) Draw() { type Rectangle (line 19) | type Rectangle struct method Draw (line 24) | func (r Rectangle) Draw() { type ShapeDecorator (line 28) | type ShapeDecorator interface type RedShapeDecorator (line 31) | type RedShapeDecorator struct method Draw (line 35) | func (d RedShapeDecorator) Draw() { method setRedBorder (line 39) | func (d RedShapeDecorator) setRedBorder() { function main (line 43) | func main() { FILE: src/structure/facade/facade.go type Shape (line 5) | type Shape interface type Circle (line 9) | type Circle struct method Draw (line 13) | func (c Circle) Draw() { type Rectangle (line 17) | type Rectangle struct method Draw (line 22) | func (r Rectangle) Draw() { type Square (line 26) | type Square struct method Draw (line 30) | func (s Square) Draw() { type ShapeMaker (line 34) | type ShapeMaker struct method DrawCircle (line 40) | func (maker ShapeMaker) DrawCircle() { method DrawRectangle (line 43) | func (maker ShapeMaker) DrawRectangle() { method DrawSquare (line 46) | func (maker ShapeMaker) DrawSquare() { function main (line 50) | func main() { FILE: src/structure/flyweight/flyweight.go type UnsharedConcreteFlyweight (line 7) | type UnsharedConcreteFlyweight struct method SetInfo (line 11) | func (unshared *UnsharedConcreteFlyweight) SetInfo(info string) { method Info (line 14) | func (unshared UnsharedConcreteFlyweight) Info() string { type Flyweight (line 18) | type Flyweight interface type ConcreteFlyweight (line 21) | type ConcreteFlyweight struct method Operation (line 25) | func (concrete ConcreteFlyweight) Operation(unshared UnsharedConcreteF... type FlyweightFactory (line 30) | type FlyweightFactory struct method GetFlyweight (line 34) | func (f FlyweightFactory) GetFlyweight(key string) Flyweight { function main (line 47) | func main() { FILE: src/structure/proxy/proxy.go type Image (line 5) | type Image interface type RealImage (line 8) | type RealImage struct method Display (line 12) | func (real RealImage) Display() { method LoadFromDisk (line 15) | func (real *RealImage) LoadFromDisk(fileName string) { type ProxyImage (line 20) | type ProxyImage struct method Display (line 25) | func (proxy *ProxyImage) Display() { function main (line 33) | func main() {