Scott Wlaschin posted an incredible series on dependency injection. It clarifies the different techniques and cases where each is useful. I noticed an interesting relationship between the techniques and the layers I use to categorize services.
I’ve been on a long journey of meshing IDesign with Clean Architecture. Managers, engines, and utilities fit nicely, but accessors seemed too substantial for an adapter and not independent enough for a true service. At last, I’ve realized the place of accessors by building off their relationship to utilities. Accessors are independent services, not servants to managers.
I’ve been on a long journey of meshing IDesign with Clean Architecture. Accessors have been a conceptual sticking point.
Part 2 of Righting software presents the most complete theory of project management I’ve seen: the Critical Path Method.
Thus far this only includes the System Design portion of the book.
I was “raised” on the iDesign school of architecture. To me architecture meant the high-level separation of concerns into clients, managers, engines, accessors, and resources.