~/talk

How Do You Structure Your Go Apps?

Talkat GoWayFest 2.0 2018 · on Friday, 2018-09-28· [go, software-architecture]
name:Kat Zień
github:katzien
slides:none on file

Compares concrete layouts and tradeoffs: a flat structure avoids circular deps and suits small apps; MVC/layered grouping causes circular dependencies and confusing models; module-by-domain and DDD by bounded contexts remove globals and clarify language; hexagonal architecture forces inward-only dependencies via interfaces so storage and HTTP adapters swap easily; recommends CMD/pkg binaries, put tests next to code, avoid init for sample data, prefer explicit sample resources, and warns about naming, globals, and large util packages.

AI-written summary · about

  1. 0:00Introduction
  2. 1:07The importance of structure
  3. 4:33Defining a good structure
  4. 8:23Flat structure approach
  5. 10:34Layered architecture (MVC)
  6. 14:28Grouping by modules
  7. 15:25Domain driven design
  8. 23:51Hexagonal architecture
  9. 29:45Structuring tips and testing
  10. 35:11Summary and conclusion
  11. 39:46Q&A session
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.