𝗖𝗹𝗲𝗮𝗻 𝗔𝗣𝗜 𝗗𝗲𝘀𝗶𝗴𝗻 𝗶𝗻 𝗡𝗼𝗱𝗲.𝗷𝘀

बहुतेक Node.js APIs एका सिंगल server.js फाईल आणि काही रूट्सने (routes) सुरू होतात. जेव्हा ॲप लहान असते तेव्हा हे काम करते.

मग ॲप मोठे होते.

रूट्सची संख्या वाढते. Business logic रूट हँडलर्समध्ये मिसळते. Error handling कॉपी-पेस्ट केलेल्या कोडचा गोंधळ बनून जाते. नवीन डेव्हलपर्सना गोष्टी कुठे आहेत हे शोधण्यात अडचण येते. API अजूनही काम करते, पण त्याची देखभाल (maintain) करणे कठीण होते.

क्लीन API डिझाइन हे टाळते. तुम्हाला अशा स्ट्रक्चरची गरज आहे जे विविध जबाबदाऱ्या वेगळ्या करते (separates concerns).

प्रोफेशनल API लेयरनुसार (layer by layer) कसा तयार करायचा ते खाली दिले आहे:

हे का महत्त्वाचे आहे:

जेव्हा तुम्ही हे लेयर्स वेगळे करता, तेव्हा तुम्हाला लवचिकता (flexibility) मिळते. जर तुम्हाला मॉक डेटाबेसकडून (mock database) रिअल डेटाबेसकडे स्विच करायचे असेल, तर तुम्हाला फक्त सर्व्हिस बदलावी लागेल. कंट्रोलर्स आणि राउटर तसेच राहतील.

जर तुम्हाला अधिक चांगली परफॉर्मन्स आणि इन-बिल्ट TypeScript सपोर्ट हवा असेल, तर Fastify चा विचार करा. स्ट्रक्चरल तत्त्वे तीच राहतील, पण फ्रेमवर्क तुमच्यासाठी अधिक काम करेल.

सध्याच्या काळात सर्व काही एकाच फाईलमध्ये टाकणे थांबवा. सुरुवातीलाच योग्य स्ट्रक्चर तयार करणे म्हणजे 'ओव्हरइंजिनिअरिंग' (overengineering) नाही. मेंटेनेबल बॅकएंडसाठी (maintainable backend) ही किमान गरज आहे.

तुमचे सध्याचे Express सेटअप कसे आहे? तुम्ही लेअर्ड आर्किटेक्चर (layered architecture) वापरता की ऑर्गॅनिक (organic)?

स्रोत: https://dev.to/gavincettolo/clean-api-design-in-nodejs-a-practical-guide-3a32