From a48bb4972d969d4989c6b1dd68c0343490e73595 Mon Sep 17 00:00:00 2001 From: Mahdi Azarboon <21277296+azarboon@users.noreply.github.com> Date: Tue, 11 Jun 2024 13:27:41 +0800 Subject: [PATCH] Update readme.md Readers should be reminded of two fundamental laws in software architecture: 1.Everything is a trade-ff 2."Why is more important than the how" So, readers face the nuances and reality of these patterns from the beginning. These two laws are coined by two thought leaders in software architecture: Mark Richards and Neal Ford. They have explained these two laws in various conference talks and books. For example, Here you can read about these two laws here: https://www.infoq.com/podcasts/software-architecture-hard-parts/ Also, here is a book for reference: https://a.co/d/fKOodW9 --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 3ee4f4d4..3f07dee7 100644 --- a/readme.md +++ b/readme.md @@ -50,6 +50,7 @@ Wikipedia describes them as - Do not try to force them; bad things are supposed to happen, if done so. - Keep in mind that design patterns are solutions **to** problems, not solutions **finding** problems; so don't overthink. - If used in a correct place in a correct manner, they can prove to be a savior; or else they can result in a horrible mess of a code. +- Each pattern has its own trade-offs. And you need to pay attention more to why you're choosing a certain pattern than to how to implement it. > Also note that the code samples below are in PHP-7, however this shouldn't stop you because the concepts are same anyways.