• 0
jarer

مشروع LizardX لتعديل Services في برامجع قواعد البيانات

سؤال

السلام عليكم

الاعضاء الكرام،،،

هذه محاولة لتقليل الكود في كتابة برامج قواعد البيانات

حيث وجدت عند كتابة اي برنامج جديد يجب عمل الاتي:

item class

Services class

GUI

ولكن هذه Services class

تقريباً واحدة لكل items

ولكنها تختلف في نوع SQL statement

insert, select, update, delete

ونوع item

المتعلق بها

ولكن وجهتني بعض المشاكل

اولاً: مثل في حالة الاستعلام عن بيانات غير موجودة لا يتم الافادة للمستخدم بذلك ولكن يتم إرجاع القيم صفر لكل متغير من النوع item

ثانياً: في رائيكم هل ما قمت به صحيح ام يتعارض مع مفهوم MVC

ثالثا: هل توجد طريقة اخري للتبسيط

رابعاً: هل استخدام المصفوفة بعدد 100 متغير سوف يؤثر علي حجم الذاكرة عند تشغيل البرنامج

اتمني ان لا اكون اطلت عليكم

مرفق الكود

LizardX.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

10 إجابة على هذا السؤال .

  • 0

لا طبعا هذه الطريقه مش تنفع

لانك كدا مش بتحافظ على استقلال كل جدول

وكمان اذا كان عندك اكثر من 100 عنصر فى الجدول ؟؟

فيكيف تحصل على ذلك

ثانيا انت لم تعرف كيف تحصل على نوع العمود كى يتم اضافته فالمكان المناسب

فالافضل انك تستخدم نظام MVC

ان يكون عندك Bean class وكلا منها يوجد له Bean service

اما الـ GUI فهذا حسب الاحتياج

بالتوفيق

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

اشكرك اخ محمود علي التعليق

اسمح لي بتوضيح بعض النقاط حتي يتثني لي فهم تعليقك بصورة كاملة

- في حالة وجود اكثر من 100 عنصر في الجدول

ان 100 عنصر كانت للتوضيح فقط وممكن ان تكون متغير بناءً علي طول المصفوفة myIndexArray

- نوع العمود في كلا الاحوال اقوم بتحديده في حالة استخدام Bean service

عن طريق Bean.setInt / Bean.setString

اي اني عوضاً عن كاتبتها مع كل sql

اقوم بكتابتها مرة واحدة في myIndexArray

"int","String"

الهدف من هذا هو تقليل ما يتم كتابته في Bean Services

فمثال:

لكاتبة method للحصول علي Bean عن طريق رقم الحقل يتم كتابته هذه method في Bean Services

ثم يتم تكرارها مرة اخري عن الرغبة في الحصول بأسم المستخدم (كمثال)

وما إلي ذلك

وبعد ذلك اقوم بتحويل NewLizardX إلي نوع الBean المطلوب

اذا كانت طريقتي غير صحيحة فهل توجد طريقة اصح للتبسيط.

وجزاك الله خيراً

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ليه استخدمت الداله دى ؟؟

public Currencies convertToCurrency(NewLizardX newlizardX) {

Currencies currencies = new Currencies();
currencies.setCurr_ID(newlizardX.getInt(0));
currencies.setCurr_samp(newlizardX.getStr(1));
currencies.setCurr_EDes(newlizardX.getStr(2));
currencies.setCurr_ADes(newlizardX.getStr(3));
currencies.setCurr_Price(newlizardX.getDbl(4));
return currencies;

}

ايه عرفك ان الCurrency هتكون فى الاماكن اللى انت محددها دى

ان الـ ID هيكون فى العنصر 0 من الـ intArray

وان الـ Curr_samp هيكون فالعنصر 1 من الـStrArray

وهكذا

نفس الكلام مع الداله convertFromCurrency

وبالنسبه لتحديد نوع العمود فانت بتكتبه مسبقا , ان الاعمده هتكون بالشكل دا

لكن المشكله ان كدا مش صح

الافضل لك ان تكون لكل جدول فى قاعده البيانات شىء مستقل بذاته

يعنى ان يكون له Beans تحتوى على جميع الاعمده الموجوده فى قاعده البيانات وطبعا الاعمده هتكون ليها نوعها معرف للمتغير

وان يكون ليها Beans Service تتحكم فيها كل ما يخصها طبعا هناك اشياء بديهيه ان تكون موجوده مثل

SelectAll , SelectOne , insert ,update ,delete

هذه الدوال اعتقد لا يخلوا منها اى تعامل مع اى جدول واى دوال اخرى متعلقه بهذا الجدول قم باضافتها بالـ Service class المناظره له

انت تحاول ان تقلص الكود لكن المشكله انه سيدخلك فى متاهات كبيره

الفكره ليس فى تقليص حجم الكود كما ان تكون الفكره فى تنظيم الكود نفسه كى يكون قابل للفهم والقراءة من قبل اى احد

وان يكون قابل للتعديل فى اى وقت دون ادنى صعوبة وان يكون قابل لان يعمل به او يعمل على المشروع اكثر من شخص فى نفس الوقت

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكراً

وجزاك الله خيراً علي التوضيح

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكراً

وجزاك الله خيراً علي التوضيح

العفو , جزانا واياكم كل خير

واتمنى ان كان هناك خطا منى يقوم الاخوه بتقويمى

بالتوفيق جميعا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

سأثبت الموضوع للنقاش

لم أطلع على الكود لكني ساضعك على جدولي

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

الاعضاء الكرام

=================================================================================

تحذير :

ارجوا مراعاة الحذر حيث قد تكون الطريقة التي اتبعتها غير صحيحة كما هو موضح اعلاه، ولا ارغب في ان تكون السبب في تضليل او تشويش اي احد.

وشكراً

=================================================================================

مرفق الكود بعد التعديل

ارجوا التاكد من إضافة ملف lizardX.jar الموجود بالمجلد lip

الي libraries

وشكراً

LizardXTest2.4.rar

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

الاعضاء الكرام

=================================================================================

تحذير :

ارجوا مراعاة الحذر حيث قد تكون الطريقة التي اتبعتها غير صحيحة كما هو موضح اعلاه، ولا ارغب في ان تكون السبب في تضليل او تشويش اي احد.

وشكراً

=================================================================================

مرفق الكود بعد التعديل

ارجوا التاكد من إضافة ملف lizardX.jar الموجود بالمجلد lip

الي libraries

وشكراً

ممكن تضع امثله مكتوبه مرفقه مع المكتبه او تكون مستقلة... تسهل على المبرمج فهمها ..اعذرني لم اقراء الموضوع بعد ..لكن احببت اضافة هذة الأضافة ليصبحك عملك اكثر احترافية ..

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ممكن تضع امثله مكتوبه مرفقه مع المكتبه او تكون مستقلة... تسهل على المبرمج فهمها ..اعذرني لم اقراء الموضوع بعد ..لكن احببت اضافة هذة الأضافة ليصبحك عملك اكثر احترافية ..

السلام عليكم

اشكرك kiubo

علي التعليق والنصيحة

إن شاء الله سوف اعمل بها واضع المثال

واعتذر عن التاخير بسبب الانشغال الخارج عن إرادتي

واستمحيكم عذراً اذا تاخرت في وضع المثال.

وكل عام وانتم بخير

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي أين كود المكتبة lizardx؟

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .