arch

package
v0.4.1 Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2023 License: Apache-2.0 Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AssociationRelation

type AssociationRelation interface {
	Relation
	Refer() Object
	AssociationType() RelationType
}

type CompositionRelation

type CompositionRelation interface {
	Relation
	Child() Object
}

type DependenceRelation

type DependenceRelation interface {
	Relation
	DependsOn() Object
}

type DesignPattern

type DesignPattern string
const (
	DesignPatternPlain   DesignPattern = "plain"
	DesignPatternHexagon DesignPattern = "hexagon"
)

type Diagram

type Diagram interface {
	Name() string
	SubDiagrams() []SubDiagram
	Type() DiagramType
	Edges() []Edge
}

type DiagramType

type DiagramType uint8
const (
	PlainDiagram DiagramType = iota + 1
	TableDiagram
)

type Domain

type Domain interface {
	Domain() string
}

type DomainObj

type DomainObj interface {
	Object
	Domain
	OriginIdentifier() ObjIdentifier
}

type DomainObjs

type DomainObjs []DomainObj

func (DomainObjs) Objects

func (dos DomainObjs) Objects() []Object

type Edge

type Edge interface {
	From() string
	To() string
	Count() int
	Type() RelationType
	Pos() []RelationPos
}

type Element

type Element interface {
	Node
	Children() []Nodes
}

type EmbeddingRelation

type EmbeddingRelation interface {
	Relation
	Embedded() Object
}

type HexagonDirectory

type HexagonDirectory string
const (
	HexagonDirectoryCmd            HexagonDirectory = "cmd"
	HexagonDirectoryPkg            HexagonDirectory = "pkg"
	HexagonDirectoryInternal       HexagonDirectory = "internal"
	HexagonDirectoryDomain         HexagonDirectory = "domain"
	HexagonDirectoryAggregate      HexagonDirectory = "aggregate"
	HexagonDirectoryApplication    HexagonDirectory = "application"
	HexagonDirectoryInfrastructure HexagonDirectory = "infrastructure"
	HexagonDirectoryInterfaces     HexagonDirectory = "interfaces"
	HexagonDirectoryRepository     HexagonDirectory = "repository"
	HexagonDirectoryFactory        HexagonDirectory = "factory"
	HexagonDirectoryEntity         HexagonDirectory = "entity"
	HexagonDirectoryValueObject    HexagonDirectory = "valueobject"
	HexagonDirectoryInvalid        HexagonDirectory = "invalid"
)

type Identifier

type Identifier interface {
	ID() string
}

type ImplementationRelation

type ImplementationRelation interface {
	Relation
	Implements() []Object
	Implemented(object Object)
}

type Node

type Node interface {
	ID() string
	Name() string
	Color() string
}

type Nodes

type Nodes []Node

type ObjColor

type ObjColor string
const (
	ColorAggregate   ObjColor = "#ffd966ff"
	ColorEntity      ObjColor = "#ffe599ff"
	ColorValueObject ObjColor = "#a2c4c9ff"
	ColorFactory     ObjColor = "#cfe2f3ff"
	ColorService     ObjColor = "#e69138ff"
	ColorWhite       ObjColor = "#ffffffff"
	ColorMethod      ObjColor = "#a4c2f4ff"
	ColorAttribute   ObjColor = "#f3f3f3ff"
	ColorInterface   ObjColor = "#9fc5e8ff"
	ColorClass       ObjColor = "#b4a7d6ff"
	ColorGeneral     ObjColor = "#f4ccccff"
	ColorFunc        ObjColor = "#ead1dcff"
)

type ObjIdentifier

type ObjIdentifier interface {
	Identifier
	Name() string
	NameSeparatorLength() int
	Dir() string
}

type Object

type Object interface {
	Identifier() ObjIdentifier
	Position() Position
}

type ObjectWalker

type ObjectWalker func(Object) error

type Options added in v0.0.3

type Options interface {
	ShowAllRelations() bool
	ShowStructEmbeddedRelations() bool
}

type Position

type Position interface {
	Filename() string
	Offset() int
	Line() int
	Column() int
	IsEqual(pos Position) bool
}

type Relation

type Relation interface {
	Type() RelationType
	From() Object
}

type RelationMeta

type RelationMeta interface {
	Type() RelationType
	Position() RelationPos
}

type RelationPos

type RelationPos interface {
	From() Position
	To() Position
}

type RelationType

type RelationType uint8
const (
	RelationTypeAssociationOneOne RelationType = iota + 1
	RelationTypeAssociationOneMany
	RelationTypeAssociation
	RelationTypeComposition
	RelationTypeEmbedding
	RelationTypeAggregation
	RelationTypeAggregationRoot
	RelationTypeDependency
	RelationTypeImplementation
	RelationTypeAbstraction
	RelationTypeAttribution
	RelationTypeBehavior
	RelationTypeNone
)

type SubDiagram

type SubDiagram interface {
	Name() string
	Nodes() []Node
	Summary() []Element
	SubGraphs() []SubDiagram
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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