~/talk

Whoops! Where did my architecture go?

slides:none on file

Argument: architecture survives only if dependencies are visible and constrained. Practical methods: run JDepend to find package cycles (example project shows one cycle flagged by multiple markers), model rules with Sonargraph to surface and enforce slice-to-slice constraints in the IDE, and prefer slice-first packages so implementations can be package‑private and reduce public API surface. Built a tiny Spring plugin library (≈10–15 classes) that composes jar plugins at build time, supports ordered selection and delegation, and proves the approach works in a banking integration case.

AI-written summary · about

  1. 0:00Intro
  2. 0:12Whoops! Where did my architecture go?
  3. 1:26Background 5 years of consulting Lots of code reviews Eoin Woods' talk on InfoQ
  4. 4:18Roadmap Architecture 101 A plain Java based approach Spring Plugin
  5. 5:52The 2 C' of Architecture
  6. 7:45Know your dependencies
  7. 11:28Of layers and slices..
  8. 16:08Slices Hardly understood New to developers Key for business req
  9. 17:17How to implement an architecture inside a codebase?
  10. 20:57Code analysis JDepend Sonar
  11. 37:29core ... customer ... account
  12. 39:41Layers first Leaks slice internals Lower layers visible to everyone
  13. 39:53Start with package per slice Expose interfaces and domain types Keep implementations private
  14. 40:22Encapsulates business module Internals understood anyway
  15. 41:32Start with less packages and the least visibility possible...
  16. 50:10Background Risk management at German public bank Quite a few other Spring Source clients
  17. 52:38Systems grow big!
  18. 52:49Remember the 2 C's?
  19. 53:19How to localize change?
  20. 53:33Separate frequent from infrequent change!
  21. 54:47Granularity Class Package Java ARchive
  22. 58:39How to make the host aware of the plugins?
  23. 58:57How to dynamically collect Spring beans of a given type?
~/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.