|
|
|
|
|
by tuckerconnelly
1034 days ago
|
|
I see the point of the article, and even on a principled level I might agree with it (e.g., don't overly abstract). A few problems I see though: 1. If you make backend-only abstractions to keep your code even a little bit DRY, you'll have a duplication of code (both the abstraction and the BFF endpoint). I think it'd be better to go all in on the abstraction up-front. 2. This will impair the conceptual integrity of the system and arguably lead to development slowdowns in the long run. To quote Mythical Man Month: “I will contend that conceptual integrity is the most important consideration in system design. It is better to have a system omit certain anomalous features and improvements, but to reflect one set of design ideas, than to have one that contains many good but independent and uncoordinated ideas.” 3. Your ad-hoc logic will likely be duplicated anyways across pages. 4. A general purpose API makes security features like RBAC much simpler. I think a general-purpose API is a well established abstraction you can rely on for pretty much any project. |
|