README ¶ All code files are present in their respective code folders. Expand ▾ Collapse ▴ Directories ¶ Show internal Expand all Path Synopsis Chapter01 01_defining_depenency_injection 02_code_smells/01_code_bloat 02_code_smells/02_resistance_to_change 02_code_smells/03_wasted_effort 02_code_smells/04_tight_coupling Chapter02 01_single_responsibility_principle 02_open_closed_principle 03_liskov_substitution_principle 03_liskov_substitution_principle/01_violation 03_liskov_substitution_principle/02_fixed 03_liskov_substitution_principle/03_fixed 04_interface_segregation_principle Chapter03 01_optimizing_for_humans 02_unit_tests 03_test_induced_damage Chapter04 01_welcome 03_known_issues/02_config_coupling 03_known_issues/02_config_coupling/currency acme acme/internal/config acme/internal/logging acme/internal/modules/data acme/internal/modules/exchange acme/internal/modules/get acme/internal/modules/list acme/internal/modules/register acme/internal/rest Chapter05 02_advantages 03_applying 04_disadvantages acme acme/internal/config acme/internal/logging acme/internal/modules/data acme/internal/modules/exchange acme/internal/modules/get acme/internal/modules/list acme/internal/modules/register acme/internal/rest Chapter06 01_constructor_injection 02_advantages 03_applying/01 03_applying/01/data 03_applying/01/register 03_applying/02 03_applying/02/data 03_applying/02/register 03_applying/03/data 03_applying/04 03_applying/04/data 03_applying/05 03_applying/05/data 03_applying/05/get 03_applying/05/list 03_applying/05/register 04_disadvantages acme acme/internal/config acme/internal/logging acme/internal/modules/data acme/internal/modules/exchange acme/internal/modules/get acme/internal/modules/list acme/internal/modules/register acme/internal/rest Chapter07 01_method_injection 02_advantages 04_disadvantages acme acme/internal/config acme/internal/logging acme/internal/modules/data acme/internal/modules/exchange acme/internal/modules/get acme/internal/modules/list acme/internal/modules/register acme/internal/rest Chapter08 01_config_injection 02_advantages 02_advantages/01_injected_config 02_advantages/02_config_injection 02_advantages/config 02_advantages/logging 02_advantages/stats 04_disadvantages acme acme/internal/config acme/internal/logging acme/internal/modules/data acme/internal/modules/exchange acme/internal/modules/get acme/internal/modules/list acme/internal/modules/register acme/internal/rest Chapter09 01_jit_injection 02_advantages 02_advantages/06_global_variable 02_advantages/07_global_variable_jit 04_disadvantages acme acme/internal/config acme/internal/logging acme/internal/modules/data acme/internal/modules/exchange acme/internal/modules/get acme/internal/modules/list acme/internal/modules/register acme/internal/rest Chapter10 01_intro_to_wire/01_simple 01_intro_to_wire/02_params 01_intro_to_wire/03_error 02_advantages/02_instantiation_order 03_applying 04_disadvantages/01_complexity acme acme/internal/config acme/internal/logging acme/internal/modules/data acme/internal/modules/exchange acme/internal/modules/get acme/internal/modules/list acme/internal/modules/register acme/internal/rest Chapter11 01_di_induced_damage/01_long_param 01_di_induced_damage/02_long_param 01_di_induced_damage/03_long_param 01_di_induced_damage/04_long_param 01_di_induced_damage/05_inject_sql 01_di_induced_damage/06_inject_sql 01_di_induced_damage/08_needless_indirection 01_di_induced_damage/09_needless_indirection 01_di_induced_damage/10_needless_indirection 01_di_induced_damage/11_service_locator 02_premature_future 03_mocking_http_requests acme acme/internal/config acme/internal/logging acme/internal/modules/data acme/internal/modules/exchange acme/internal/modules/get acme/internal/modules/list acme/internal/modules/register acme/internal/rest Chapter12 03_testing 04_new_service/01_data_with_cache 04_new_service/01_data_with_cache/internal/cache 04_new_service/01_data_with_cache/internal/logging acme acme/internal/config acme/internal/logging acme/internal/modules/data acme/internal/modules/exchange acme/internal/modules/get acme/internal/modules/list acme/internal/modules/register acme/internal/rest Click to show internal directories. Click to hide internal directories.