Expressions-with-DO-and-MAKE1.pdf
-
000-introduction -
001-the sample application -
002-promotes database driven design -
003-prone to shortcuts -
004-grows hard to test -
005-hides the use cases -
006-makes parallel work difficult -
007-conclusion what s wrong with layers -
008-quiz what s wrong with layers -
009-the single responsibility principle -
010-a table about side effects -
011-the dependency inversion principle -
012-clean architecture -
013-hexagonal architecture -
014-conclusion inverting dependencies -
015-quiz inverting dependencies -
016-organizing by layer -
017-organizing by feature -
019-the role of dependency injection -
020-conclusion organizing code -
021-quiz organizing code -
022-implementing the domain model -
023-a use case in a nutshell -
024-validating input -
025-the power of constructors -
027-validating business rules -
028-rich vs anemic domain model -
030-what about read only use cases -
031-conclusion implementing a use case -
032-quiz implementing a use case -
033-dependency inversion with a web adapter -
034-responsibilities of a web adapter -
035-slicing controllers -
036-conclusion implementing a web adapter -
037-quiz implementing a web adapter -
039-responsibilities of a persistence adapter -
040-slicing port interfaces -
041-slicing persistence adapters -
042-example with spring data jpa -
043-database transactions -
045-quiz implementing a persistence adapter -
046-the test pyramid -
047-testing a domain entity with unit tests -
048-testing a use case with unit tests -
051-testing main paths with system tests -
052-how much testing is enough -
152-raft s log replication protocol -
154-raft s cluster membership changes -
156-quiz on raft -
157-conclusion