From 471aedd8a0e97140eee7b83ec39592ee11194730 Mon Sep 17 00:00:00 2001 From: Artem Zakirullin Date: Sun, 22 Sep 2024 20:05:17 +0300 Subject: [PATCH] add new chapter about SRP and shallow modules --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b140dd7..6bd6c73 100644 --- a/README.md +++ b/README.md @@ -152,7 +152,7 @@ A modern implementation of this interface has **hundreds of thousands of lines o If you think we are rooting for bloated God objects with too many responsibilities, you got it wrong. ## Shallow modules and SRP -All too often, we end up creating lots of shallow modules, following some vague "a module should be responsible for one, and only one, thing" principle. What is this fuzzy one thing? Instantiating an object is one thing, right? So `MetricsProviderFactoryFactory` seems to be fine. The names and interfaces of such classes tend to be more mentally taxing than their entire implementations, what kind of abstraction is that? Something went wrong. +All too often, we end up creating lots of shallow modules, following some vague "a module should be responsible for one, and only one, thing" principle. What is this blurry one thing? Instantiating an object is one thing, right? So `MetricsProviderFactoryFactory` seems to be fine. The names and interfaces of such classes tend to be more mentally taxing than their entire implementations, what kind of abstraction is that? Something went wrong. We make changes to our systems to satisfy our stackeholders and users. We are responsible to them.