الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تطبيق MVVM Pattern في الـ ASP.NET

بدأه زكيري عبد العالي في 17 يناير 2012 · 7 رد · 1,052 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

بعد درس Pattern الاخوة اثابهم الله عن MVC

هنا /index.php?showtopic=250074&st=0#entry1236774

و MVP

هنا /index.php?showtopic=254544

و بعد ما اصبحت لدي بعض الخبرة في البرمجة متعددة الطبقات و التي كتبنا عنها

هنا

/index.php?showtopic=216023 و

/index.php?showtopic=217813 و

/index.php?showtopic=217905

و بما اني اعمل حالينا على WPF في المؤسسة http://www.mediabrandsww.com/ و على بالضيط عن طريق النموذج التصميمي MVVM

و الدي كتبنا عنه هنا

/index.php?showtopic=239311

جاءتني فكرة عمل مثال واب على هدا النمودج

فارجوا من لديه الخبرة او فكرة ان لا يبخل علينا

في المرفق الاول نجد مثال ب WPF و الثاني فكرة بسيطة جدا ربما صحيح او لا على ASP.net

ملاحضة فقط لم يعجبني MVP و افضل MVC او البرمجة العادية لكن بفصل الطبقات

ListPersonsAppC.rar

MVVM.rar

vidio.mpg

تم تعديل هذه المشاركة بواسطة زكيري عبد العالي في 17 يناير 2012 في 16:47

1
#3

جزاك الله خير على هذه المعلومات القيمة

اللهم أطل عمري وأحسن عملي واختم بالشهادة أجلي

#4

السلام عليكم

الحمد لله مع هدا الفرمويرك نستطيع تطبيق MVVM على ASPنت قمت بعمل مثال اول يوضح عملية الربط فقط اي Binding

post-1034-034806500 1326900809_thumb.jpg

MVVMASPNET.rar

المرفقات
MVVMASP-net-2.JPG
1
#5

السلام عليكم ورحمه الله وبركاته

شكرا لك اخي على المجهود الرائع .. تمنياتي لك بالتوفيق

طلب لو توضح للاخوة الفرق بين الـ MVVM والـ MVP؟

.:: Wish to become better and better ::.

#6

شكرا لك

و الله لم اعمل على MVP الا تجربت الكود الموجود في الدرس .و ليس لي الوقت الكافي لكتابت تعاريف و لا احسنها ايضا اخطاء املاءية و و و ...

ارجا من الاخوة من يستطيع طبعا ان يترجم ه\ا المقال و بارك الله فيه

http://nirajrules.wordpress.com/2009/07/18/mvc-vs-mvp-vs-mvvm/

http://geekswithblogs.net/dlussier/archive/2009/11/21/136454.aspx

http://msdn.microsoft.com/en-us/magazine/dd419663.aspx#id0090009

من الصور نرى اهم نقاط الاختلاف .

الثال الثاني سنحاول عمل TwoWay

picture1pa.png

منقول من درس WPF

أوضاع الربط والتحديث Data Binding/Updating Modes

كما رأيت حتى الآن فإن مسار تغيّر الخصائص كان دائمًا من العنصر المَصدر إلى العنصر الهدف, ولكن من المُمكن بشكل ما أو بآخر أن تتغيّر قيمة الخاصية الهدف مُباشرةّ, ومن الجيّد في هذه الحالة أن ينعكس هذا التغيّر نحو العنصر المَصدر أيضًا, ففي المثال السابق قد تقوم من خلال الكود بتغيير قيمة الخاصية FontSize , عندها سستوقّع للحظة أن شريط التمرير سيقوم بتحديث نفسه تلقائيًا للقيمة ولكن هيهات! يُمكن حلّ هذه المسألة بساطة باستخدام الخاصية Mode للكائن Binding, حيث يُمكن التحكّم من خلالها في أوضاع مسار تغيّر البيانات, وهي كالتالي:

* الوضع أُحادي الاتجاه OneWay: يتمّ تحديث قيمة الخاصيّة الهدف عندما تتغيّر قيمة الخاصيّة المَصدر.

* الوضع ثنائي الاتجاه TwoWay: يتمّ تحديث قيمة الخاصيّة المَصدر أو الهدف بتغيّر قيمة الخاصيّة الأخرى, هذا الوضع يُستخدم عادة عند التعامل مع عناصر التحكّم التي يُسمح فيها للمستخدم بالتعديل عليها, مثل DataGrid, TextBox, حيث تنتقل التغيّرات من هذه العناصر مباشرةً إلى الكائن المَصدر المرتبط بها.

* الوضع أُحادي الاتجاه نحو المَصدر OneWayToSource: هذا الوضع مُعاكس للوضع الأول OneWay. حيث يتمّ تحديث قيمة الخاصيّة المَصدر كُلّما تمّ تحديث الخاصيّة الهدف. هذا الوضع مُفيد جدًا خصوصًا في الحالة التي تكون فيها الخاصيّة المَصدر ليست خاصيّة تبعيّة .

* الوضع لأول مرّة فقط OneTime: هذا الوضع مُماثل للوضع الأول OneWay باستثناء أن أيّ تغيّر يتمّ لاحقًا على الخاصيّة المَصدر لايتمّ أخذه بالحسبان ولا تتأثّر به الخاصيّة الهدف.

* الوضع الافتراضي Default: هذا الوضع يعتمد على الخاصيّة الهدف, يُمكن أن يكون هذا الوضع قي هذه الحالة إما ثنائي الاتجاه TwoWay (بالنسبة للخصائص الهدف القابلة للكتابة Writable Properties), أو أحادي الاتجاه, جميع الخصائص تعتمد على هذا الأسلوب, إلا إذا قمت باختيار وضع مُغاير بشكل صريح.

ان شاء الله سارفق المثال قريبا اي حينما اقوم به

post-1034-030768900 1326903598_thumb.jpg

post-1034-071017900 1326903605_thumb.jpg

المرفقات
mvcmvp2.jpgmvvm2.jpg

تم تعديل هذه المشاركة بواسطة زكيري عبد العالي في 18 يناير 2012 في 19:30

مواضيع مشابهة