ابزار سایت

معرفی_معماری_موتوشاب

تفاوت‌ها

تفاوت دو نسخهٔ متفاوت از صفحه را مشاهده می‌کنید.

پیوند به صفحه‌ی تفاوت‌ها

نگارش قبل در دو طرف نگارش قبل
نگارش بعد
نگارش قبل
معرفی_معماری_موتوشاب [2017/05/27 13:22]
127.0.0.1 ویرایش خارجی
معرفی_معماری_موتوشاب [2019/01/15 12:45] (فعلی)
خط 1: خط 1:
 ====== فصل 2- معرفی معماری موتوشاب ====== ====== فصل 2- معرفی معماری موتوشاب ======
  
-توسعه و بهبود موتوشاب نیازمند درک مناسبی از معماری آن است. کلاس‌های موجود در موتوشاب را از منظر هدف ‌می‌توان به دو دسته تقسیم نمود. دسته اول کلاس‌ها و توابعی‌ هستند که هدفشان فراهم‌سازی یک زیرساخت توسعه در موتوشاب است و دسته دوم با هدف پیاده‌سازی موارد کاربرد((Use case)) ​ سامانه مبتنی بر همین زیرساخت توسعه ایجاد شده‌اند. زیرساخت توسعه شامل تمامی کلاس‌هایی است که قابلیت‌های مربوط به هسته سامانه را تشکیل می‌‏دهند. هسته این زیرساخت در بسته نرم‌‏افزاری ow_core قرار داده شده است. قابل توجه است که این زیرساخت توسعه، در واقع یک چارچوب توسعه مبتنی بر وب، مشابه آن‌چه که در PHPCake ((http://​cakephp.org)) ​ و Symfony((https://​symfony.com))، ارائه کرده‌ است.+توسعه و بهبود موتوشاب نیازمند درک مناسبی از معماری آن است. کلاس‌های موجود در موتوشاب را از منظر هدف ‌می‌توان به دو دسته تقسیم نمود. دسته اول کلاس‌ها و توابعی‌ هستند که هدفشان فراهم‌سازی یک زیرساخت توسعه در موتوشاب است و دسته دوم با هدف پیاده‌سازی موارد کاربرد((Use case)) ​ سامانه مبتنی بر همین زیرساخت توسعه ایجاد شده‌اند. زیرساخت توسعه شامل تمامی کلاس‌هایی است که قابلیت‌های مربوط به هسته سامانه را تشکیل می‌‏دهند. هسته این زیرساخت در بسته نرم‌‏افزاری ow_core قرار داده شده است. قابل توجه است که این زیرساخت توسعه، در واقع یک چارچوب توسعه مبتنی بر وب، مشابه آن‌چه که در PHPCake ((http://​cakephp.org)) ​ و Symfony((https://​symfony.com)) ​وجود دارد، ارائه کرده‌ است.
  
 کلاس‌های موجود در ow_core به همه مؤلفه‌های دیگر خدمات ارائه می‌کنند؛ اما می‌بایست تصریح شود که اگرچه قابلیت‌هایی همچون امکان درج پست، نظر((Comment))، مدیریت کاربران و حتی مدل‌داده‌ کاربر قابلیت‌های هسته‌ای سامانه به نظر می‌رسند، اما در ow_core قرار ندارند؛ بلکه همان‌طور که در ادامه نیز به صورت مشروح بیان خواهد شد، این موجودیت‌ها، تشکیل‌دهنده **قلمرو مسئله((Problem domain))** ​ و عملیات مرتبط با آن‌ها در بسته نرم‏‌افزاری ow_system_plugins هستند. این بسته نرم‌افزاری شامل دو زیربسته نرم‌افزاری admin و base است: کلاس‌های موجود در ow_core به همه مؤلفه‌های دیگر خدمات ارائه می‌کنند؛ اما می‌بایست تصریح شود که اگرچه قابلیت‌هایی همچون امکان درج پست، نظر((Comment))، مدیریت کاربران و حتی مدل‌داده‌ کاربر قابلیت‌های هسته‌ای سامانه به نظر می‌رسند، اما در ow_core قرار ندارند؛ بلکه همان‌طور که در ادامه نیز به صورت مشروح بیان خواهد شد، این موجودیت‌ها، تشکیل‌دهنده **قلمرو مسئله((Problem domain))** ​ و عملیات مرتبط با آن‌ها در بسته نرم‏‌افزاری ow_system_plugins هستند. این بسته نرم‌افزاری شامل دو زیربسته نرم‌افزاری admin و base است:
خط 50: خط 50:
 اکنون که تمامی موجودیت‌های اصلی و وظایف‌ آن‌ها شرح داده شد رفتار سطح بالای سامانه برای پاسخ‌گویی به یک درخواست در <imgref 20160828-133625>​ قابل مشاهده است. درخواست ابتدا از index.php آغاز می‌شود. در این فایل ابتدا پیکربندی توسط فراخوانی init.php صورت می‌گیرد. سپس زنجیره فراخوانی آن‌طور که در شکل آمده است رخ می‌دهد. در انتهای این زنجیره کنترل‌کننده مناسب برای پاسخ‌گویی به درخواست است. پس از فراخوانی تابع مناسب کنترل‌کننده نتیجه پردازش شده و سپس به کاربر پاسخ داده می‌شود. اکنون که تمامی موجودیت‌های اصلی و وظایف‌ آن‌ها شرح داده شد رفتار سطح بالای سامانه برای پاسخ‌گویی به یک درخواست در <imgref 20160828-133625>​ قابل مشاهده است. درخواست ابتدا از index.php آغاز می‌شود. در این فایل ابتدا پیکربندی توسط فراخوانی init.php صورت می‌گیرد. سپس زنجیره فراخوانی آن‌طور که در شکل آمده است رخ می‌دهد. در انتهای این زنجیره کنترل‌کننده مناسب برای پاسخ‌گویی به درخواست است. پس از فراخوانی تابع مناسب کنترل‌کننده نتیجه پردازش شده و سپس به کاربر پاسخ داده می‌شود.
  
-<​imgcaption 20160828-133625|نمودار ​کلاس ​موجودیت‌های اصلی واحد‌های نمایشی ​در Oxwall>{{ :​pasted:​20160828-133625.png }}</​imgcaption>​+<​imgcaption 20160828-133625| نمودار ​توالی پاسخ‌گویی به یک درخواست در Oxwalll>{{ :​pasted:​20160828-133625.png }}</​imgcaption>​
  
 در نمودار فوق خط‌هایی که به سمت راست کشیده شده‌اند نشان‌دهنده فراخوانی و خطوطی که به صورت خط‌چین به سمت چپ کشیده شده‌اند بیان‌کننده بازگشت از زیرشاخه‌ها هستند. در نمودار فوق خط‌هایی که به سمت راست کشیده شده‌اند نشان‌دهنده فراخوانی و خطوطی که به صورت خط‌چین به سمت چپ کشیده شده‌اند بیان‌کننده بازگشت از زیرشاخه‌ها هستند.
معرفی_معماری_موتوشاب.txt · آخرین ویرایش: 2019/01/15 12:45