سؤال

وأنا هواة الإجمالية كتابة التطبيقات الصغيرة لتتبع التغيرات في المجلدات. أتصور سأكون حفظ المعلومات حول الدلائل لمشاهدة في DataTable واحد منضم إلى gridview، عندما يقوم المستخدم بالنقر فوق الزر، البرنامج سيخلق FileSystemWatchers لإبقاء العين على الدلائل وأنها سوف ترسل رسائل الأحداث لDataTable وآخر بد أن gridview آخر. مكان في العالم واسعة واسعة من OOP يجب أن يكون معلنا، بدء، والتلاعب Datatables؟ النموذج الرئيسي، داخل الرئيسي، في فئة، أو ينبغي أن "تتخلى عن" واستخدام Visual Studio لإنشاء التلقائى لمجموعة البيانات والعصا جدولين في ذلك؟

هل كانت مفيدة؟

المحلول

والخيول حسنا للدورات. للحصول على تطبيق فائدة قليل كنت ربما يكون أفضل حالا باستخدام VS "البصرية / RAD" أسلوب البرمجة. مثل السحب والإسقاط الجداول وما إلى النموذج، مثل معظم الدروس تظهر.

وبالمعنى الدقيق للكلمة، والتطبيق أكبر، فإن الطريقة الاصح يكون لجعل تجميع منفصلة (. DLL) الذي يعالج الوصول إلى البيانات واستدعاء الطبقات داخل هذا التجمع من النموذج الرئيسي. هذا المفهوم يمر تحت عدد من الشروط، ولكن على نحو فعال تريد فصل ما يقلقك. وبعبارة أخرى، والسماح للتفاعلات واجهة المستخدم UI مقبض، لديها تجميع منفصلة / مشروع / أيا كان الذي يعالج التفاعل قاعدة البيانات، وآخر تجميع منفصلة / مشروع / أيا كان الذي يعالج منطق الأعمال التجارية وغيرها.

وهذا القليلة الماضية من الجمل يمكن أن تعني أشياء مختلفة لأناس مختلفين، وليس هناك طريقة صحيحة 100٪ لفعل الأشياء.

وبعض المواد التي قد تساعد على:

نص الارتباط
نص الارتباط < br> و ربط النص

نصائح أخرى

وأنا أتفق مع KiwiBastard: تحصل قدرا كبيرا من الاستفادة من استخدام أدوات VS لتوليد مكتوب DataSet

.

وهذا يولد فقط الطبقات، وبالرغم من ذلك. لا يزال لديك لإدارة مثيل من DataSet. للحصول على تطبيق بسيط جدا، حيث أنني لم يؤخذ UI ومنطق الأعمال إلى فئات مختلفة، ويهمني أن تفعل ذلك في النموذج. للحصول على التطبيق من أي تعقيد، انها جزء من الطبقة منطق الأعمال.

والأمر الذي من المحتمل أن توفر لك الكثير من المتاعب: ربط البيانات أمر جيد، ADO جيد، ولكن أنواع معينة من التعليمات البرمجية ADO (ولا سيما معالجات الأحداث على DataTable و) لا يلعب بشكل جيد مع ربط البيانات. إذا كنت تستخدم BindingSources (وحقا، يجب أن يكون)، انها عموما فكرة جيدة لوقف ملزم كلما كنت التعامل مع كائنات مجموعة البيانات برمجيا (مثل، عند إضافة وحذف الصفوف). تكلفة تعليق واستئناف ملزمة صغيرة جدا، وأنه يقضي على فئة كاملة من المشاكل التي يصعب للغاية لتشخيص.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top