Magento 2 هو عرض نموذج وعرض نظام وليس MVC - شرح
نشرت: 2017-10-04لقد أدى إصدار Magento 2 إلى تغيير جذري في الطريقة التي يخطط بها المطورون ويكتبون التعليمات البرمجية لموقع الويب. توفر Magento منصة تجارة إلكترونية خالية من العيوب لآلاف التجار في جميع أنحاء العالم لتوصيل منتجاتهم بسهولة إلى جمهور أوسع. يتماشى Magento 2 مع الهندسة المعمارية الرائعة التي يستخدمها التجار منذ فترة طويلة.
على سبيل المثال ، تستخدم منصات التجارة الإلكترونية الرائدة مثل GlassesUSA.com حيث يمكنك شراء النظارات عبر الإنترنت ، Magento. وفقًا للفريق في GlassesUSA ، جعلت Magento موقعها الإلكتروني قابلاً للتطوير بسهولة ليناسب متطلبات العمل المتنوعة ، والتي تتطور كل يوم. مع ديناميكيات السوق المتغيرة وقاعدة العملاء المتزايدة باستمرار ، كان اعتماد Magento أحد أكثر القرارات حيوية. كان لهذا تأثير إيجابي وقلل من وقت تعطلهم لصيانة موقع الويب إلى الصفر تقريبًا. يحتاجون ببساطة إلى إضافة أو تعديل وحدة لتعكس التغيير المطلوب في موقع الويب الخاص بهم ، دون إعاقة استمرارية العمل أو تجربة المستخدم
تم إنشاء التصميم المعماري لـ Magento من قبل المطورين مما أتاح نوعًا من التعليمات البرمجية المصدر التي يمكن تخصيصها بسهولة لتلبية الاحتياجات الخاصة بالعمل. إن جمال العمارة هو الذي يسمح للمطورين والتجار بإضافة وحدات وتوسيع وظائف موضوع Magento eCommerce.
تتطلب غالبية الأنظمة الأساسية تعديل الكود الأساسي لإضفاء الطابع الشخصي على المنتج النهائي ، لكن Magento يتجاوز المشكلات الشائعة. أصبحت إضافة خيار أو وظيفة أسهل من خلال تثبيت مكونات Magento الإضافية. على سبيل المثال ، إذا كنت بحاجة إلى إضافة مقتطفات منظمة إلى صفحات المنتج ، فيمكن أن يؤدي هذا العمل تثبيت بسيط لملحق Magento rich snippets أو تطبيق مشابه. لا حاجة لتغيير الكود وإدخال معلومات المنتج الإضافية بشكل منفصل في كل صفحة مقصودة.
يفيد التصميم المعماري البائعين والمسؤولين عن مواقع التجارة الإلكترونية في تخصيص ميزات جديدة وتحديثها وإضافتها بسهولة. دعونا نناقش بعض النماذج المعمارية قبل التعليق على صنع Magento.
وظيفة ذات صلة: كيفية تحرير وحذف الطلب في Magento 2
نموذج MVC (وحدة تحكم عرض النموذج)
MVC هو تطبيق تصميم يقسم الوصول إلى البيانات من خلال النموذج ، ويميز الواجهة الأمامية مع العرض ، ومنطق العمل من خلال وحدة تحكم. تم تقديم نمط التصميم هذا في السبعينيات من القرن الماضي لفصل واجهة المستخدم عن النموذج. نتيجة لتأسيس MVC ، يصبح من السهل إصلاح التطبيق وصيانته واختباره. يتمثل الموضوع الأساسي لنمط التصميم في تقسيم التطبيق إلى ثلاثة جوانب معمارية تتضمن النموذج والعرض ووحدة التحكم.
يرمز النموذج إلى منطق الأعمال للتطبيق من خلال مجموعة من الفئات. قد يكون إما نموذج بيانات أو نموذج أعمال. يُظهر النموذج أيضًا طريقة تعديل البيانات أو تغييرها أو معالجتها.
العرض هو واجهة المستخدم أو الواجهة الأمامية للتطبيق. يتضمن ذلك مكونات واجهة المستخدم مثل jQuery و CSS و HTML وما إلى ذلك. ويعرض البيانات التي يحصل عليها من وحدة التحكم في التطبيق كمعلومات ناتجة. عرض يكرر النموذج مع واجهة المستخدم.
وحدة التحكم مسؤولة عن معالجة الطلبات التي يتلقاها التطبيق من الواجهة الأمامية. يقوم بجلب المعلومات من المستخدمين النهائيين من خلال طريقة العرض ، ومعالجة البيانات من خلال النموذج ، ثم يتجاوزها مرة أخرى إلى الواجهة الأمامية (عرض). إنه يعمل كجسر بين النموذج والعرض.
وظيفة مقترحة: كيفية تقديم امتداد Magento 2 إلى السوق؟

نموذج عرض نظام نموذج (MVVM)
MVVM هو نمط معماري يستخدم في البرمجة وتطوير البرمجيات. يعمل النظام على آلية ربط بيانات ثنائية الاتجاه تكون بين View و ViewModel. هذا يبسط أتمتة التغييرات داخل ViewModel لعرضها في طريقة العرض.
يحتوي MVVM على النموذج والعرض ، تمامًا مثل الطريقة التي توجد بها في MVC ، ولكن يتم استبدال وحدات التحكم بـ ViewModel.
هل Magento 2 هو نظام MVVM أم MVC؟
Magento 2 هو نظام عرض نموذجي وليس تصميمًا منظمًا بواسطة MVC. تم دمج نموذج MVC في الإصدار السابق ويبدو أنه مشابه تمامًا لـ MVVM ، لكن MVVM طريقة أكثر ثراءً في تقسيم العرض والنموذج في أحد التطبيقات.
يحتوي MVVM على ثلاث طبقات تشمل النموذج والعرض ونموذج العرض. يتم تمثيل منطق الأعمال الخاص بملحق أو تطبيق كنموذج ، بينما يتم تمثيل الواجهة الأمامية بواسطة طريقة العرض. تمامًا مثل الطريقة التي تعمل بها وحدات التحكم كوسيط في نموذج MVC ، يقوم ViewModel بسد الفجوة بين النموذج والعرض في نظام MVVM.
يقال إن الامتداد الذي تم تطويره لـ Magento 2 يتكون من عناصر التصميم الأساسية التي تمت مناقشتها أعلاه. وحيث إن دور وحدات التحكم لا يتم إزالته بالكامل من Magento 2 حيث إنه مسؤول عن إدارة تدفق المستخدم الذي يتضمن توصيل النظام بطلبات المستخدمين.
اسمحوا لي أن أشرح نفس الشيء بمساعدة مثال. للحصول على مثال ، يمكنك محاولة إعداد عنوان URL جديد وإنشاء نموذج phtml له. عندما تطلب عنوان URL جديدًا في Magento 2 ، مثل http://magento.abc.com/hi/friend ، سيرسل نظام MVVM الطلب إلى وحدة تحكم لمعالجته تمامًا مثل الطريقة التي يتم بها في MVC. لكن هناك اختلاف كبير في مسؤولية المتحكم في MVVM. وهي مسؤولة عن
- تحديد تخطيط الصفحة للتحديد
- إدارة للحفاظ على البيانات من طلبات المستخدم
- وإما توصيل النظام للرد باستخدام HTTP ، أو
- توجيه المستخدمين إلى الصفحة التالية أو السابقة
سيساعدك إعداد مثال لعنوان URL على ملاحظة عدم ذكر متغير واحد في طريقة العرض لأن كل مكون من مكونات العرض يكون مسؤولاً عن اشتقاق البيانات أو المعلومات نفسها من طبقة النموذج أو الكائن أو مصدر خارجي. يجعل MVVM Magento يقسم صفحة HTML إلى أقسام متعددة تسمى حاويات. تحتوي هذه الحاويات على كتل متصلة من خلال هيكل يشبه الشجرة. تتضمن الكتل أيضًا ملف قالب phtml.
يعمل كائن كتلة Magento كنموذج ViewModel إذا كنت تتحدث تحديدًا عن نظام MVVM. كتلة الكائن قادرة على مسح وقراءة نماذج الأعمال ، وطلبات المستخدم ، والحصول على البيانات من نظام خارجي ، وما إلى ذلك. يُطلق على ملف القالب اسم العرض الذي يتعاون فقط مع كائن الكتلة وهو نموذج العرض
خاتمة
لقد اتخذ Magento 2 بحق قرار الانتقال إلى نظام Model ViewModel لأنه كان من حاجة الساعة. يتقدم نموذج MVVM خطوة إلى الأمام في تقسيم منطق القالب من منطق الأعمال. من المؤكد أن النظام مصمم لتسهيل التجار والمستخدمين النهائيين ، في حين أن المطورين قد يجدون صعوبة في البداية في التعامل مع ترميز امتداد لموقع ويب مدعوم من Magento 2 ونظام MVVM.