تفاوت در ميان معماري اپليكيشن و پياده سازي نرم افزار
به صورت معمول يك سردرگمي در ارتباط دو معني معماري و پياده سازي طراحي اپليكيشن در مشهد وجود دارااست. دراين قسمت به توضيح تفاوت اين دو ميپردازيم.
معماري اپ براي تمجيد چارچوب و كامپوننتهاي سطح بالاي يك سيستم و طرز همياري آنها با يكديگر گزينه به كار گيري قرار مي گيرد. براي مثال بايستي تصميم بگيريم آيا به يك معماري سواي سرور نياز داريم كه نرم افزار را به دو كامپوننت BAAS يعني «بكاند تحت عنوان خدمت» (backend-as-a-service) يا اين كه FaaS يعني «كاركرد تحت عنوان خدمت» (functions-as-a-service) تقسيم مينمايد؟ يا بايستي چيزي مانند يك معماري ميكرو خدمت داشته باشيم كه امكانها و وظايف گوناگون در ماژولها و كدبيسهاي مختلف قرار گيرند.
گزينش معماري به مواقعي از قبيل كارايي، تحمل غلط، مقياسپذيري و پايداري مرتبط ميباشد.
در سوي ديگر، پياده سازي نرم افزار مسئوليت پياده سازي در سطح كد را بر عهده داراست. يعني بايستي تصميم بگيريم كدام ماژول چه كاري اجرا دهد، دامنه كلاس، تابعها و هدف ها آنها و مفاد به اين شكل چه طور باشند. هنگامي كه پياده سازي معماري به روشي راهبردي گزينه استعمال قرار گيرد، موجب ميگردد كه اپنويس، تلاش بيشتري داشته باشد و نحوههايي در چنگ او قرار ميگيرد كه پيش از اينً از سوي اشخاص ديگر بازنگري و اصلاح گرديدهاند. براين اساس از خلاقيت دوباره چرخ دوري ميكنيم.
درضمنً هنگامي كه با اشخاص ديگر دعوا ميكنيم يا اين كه در مجموعههاي گرانقدر به رئيس كد مي پردازيم، اصول پياده سازي اپليكيشن يك گويش مشترك براي انتخاب چارچوب مفهومي مسائل و راه حلهاي تكراري مهيا مي سازند.
براي استحصال داده ها بيشتر درين خصوص سفارش ميكنيم به فراگيري ويديويي پايين پايين رجوع كنيد:
يادگرفتن مهندسي اپ ۱
الگوهاي معماري برنامه
درين قسمت درخصوص الگوهاي مختلفي كه براي معماري برنامه وجود دارا هستند، توضيحاتي ارائه ميكنيم.
كلاينت-سرور
اين معماري بر مبناي سبك درخواست-جواب عمل مينمايد. كلاينت درخواست براي داده ها را به سرور ارسال مينمايد و سرور به آن جواب ميدهد.
هر اينترنتسايتي كه بازديد مي كنيد، چه يك وب لاگ وردپرسي باشد و چه يك اينترنتنرم افزار مانند فيسبوك يا اين كه توييتر و يا اين كه حتي نرم افزار وب خزانه باشد، بر مبناي معماري كلاينت-سرور سازه گرديدهاست.
همتا به همتا
يك كانال Peer-to-Peer يا اين كه به اختصار P2P به كانالاي گفته ميگردد كه در آن رايانهها كه به اسم «گره» (Node) نيز ناميده ميگردند، مي توانند فارغ از نياز به يك سرور مركزي با هم رابطه بگيرند. نبود سرور مركزي، قابليت و امكان وجود «نقطه ناكامي منفرد» را از در بين ميبرد. همگي رايانهها درين كانال دارنده دستمزد برابري ميباشند. هر گره قادر است به طور هم زمان تحت عنوان يك seeder و leecher كار نمايد. به اين ترتيب حتي در شرايطيكه بعضي رايانهها يا اين كه گرههاي كانال بي سروصدا شوند، كانال و رابطه همچنان برقرار خواهد بود.
معماري P2P مبناي فناوري بلاك چين را تشكيل ميدهد.معماري سبك-ويو-كنترلر (MVC)
معماري Model-View-Controller يا اين كه به اختصار MVC به آن الگوي معماري برنامه گفته ميشود كه منطق نرم افزار را بر مبناي كاركردهايشان به سه مؤلفه تقسيم مينمايد. اين مؤلفهها مشتمل بر موردها پايين ميباشند:
سبك- طرز ذخيره دادهها را در مقر داده معين ميسازد.
نما (View) – كامپوننتهايي كه در روءيت كرد استفاده كننده ميباشند مانند خروجي يا اين كه GUI را دربرگيرنده ميشود.
كنترلر- كامپوننتهايي كه تحت عنوان يك اينترفيس در ميان سبك و نما فعاليت مينمايند را مشمول ميگردد.
معماري MVC خير صرفا در نرم افزارهاي دسكتاپ، بلكه در نرم افزارهاي اينترنت و تلفن همراه نيز گزينه استعمال قرار ميگيرد.
ميكرو خدمت
در معماري ميكرو خدمت، امكانها و وظايف متعدد به ماژولها و كدبيسهاي مختلف افراز مي گردند تا با يكديگر همياري كرده و يك خدمت تعاليخيس را تشكيل دهند. اين معماري موجب تسهيل و كاهش هزينههاي حفظ نرم افزار، ايجاد كرد امكانهاي نو، آزمايش و توسعه و گسترش در قياس با معماري monolithic مي شود.
اتفاق افتاد-شالوده
يك معماري غير مسدودساز ميباشد كه به اسم معماري واكنشي يا اين كه «اتفاق افتاد-شالوده» (Event-driven) نيز شناخته ميشود. معماريهاي روي داد-پايه در بسط اينترنتنرم افزارهاي امروزي بسيار رايج ميباشند.
معماري اتفاق افتاد-مبنا امكان رئيس تعداد متعددي از رابطههاي هم زمان را با كمترين مصرف منابع دارااست. نرم افزارهاي امروزي براي مقياسپذيري به يك سبك تماماً ناهمگام نياز دارا هستند. اين فريموركهاي اينترنت مدير، خوي با پايداري بيشتري در يك دور و اطراف توزيعيافته به اكران ميگذارند.
لايهبندي گرديده
اين سر مشق ميتواند براي سازماندهي نرم افزارهايي استعمال شود كه آنان را مياقتدار به يك سري تيم از وظايف فرعي تقسيم كرد كه هر يك در سطح خاصي از تجريد قرار دارا هستند. هر لايه خدمتهايي براي لايه در سطح فراتر ارائه مينمايد.
لايههاي متداولخيس به گستردن ذيل ميباشند:
لايه ارائه
لايه نرم افزار
لايه منطق بيزنس
لايه دسترسي به داده
پنج ضلعي
اين معماري مشتمل بر سه مؤلفه ميباشد:
پورت
آداپتر
دامنه
برچسب: طراحي اپليكيشن در مشهد،