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

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

مثبّت
بدأه java_jarer في 30 أبريل 2012 · 10 رد · 5,661 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

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

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

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

item class

Services class

GUI

ولكن هذه Services class

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

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

insert, select, update, delete

ونوع item

المتعلق بها

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

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

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

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

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

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

مرفق الكود

LizardX.rar

#2

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

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

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

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

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

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

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

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

بالتوفيق

Software Developer
Mahmoudkelany.com


 

#3

السلام عليكم

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

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

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

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

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

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

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

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

"int","String"

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

فمثال:

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

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

وما إلي ذلك

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

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

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

#4

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

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 المناظره له

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

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

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

Software Developer
Mahmoudkelany.com


 

#5

شكراً

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

#6
java_jarer كتب:

شكراً

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

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

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

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

Software Developer
Mahmoudkelany.com


 

#7

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

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

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#8

السلام عليكم

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

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

تحذير :

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

وشكراً

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

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

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

الي libraries

وشكراً

LizardXTest2.4.rar

1
#9
java_jarer كتب:

السلام عليكم

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

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

تحذير :

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

وشكراً

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

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

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

الي libraries

وشكراً

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

كن مثل طابع البريد ، التصق بهدفك...حتى تصل الى هناك!

#10
kiubo كتب:

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

السلام عليكم

اشكرك kiubo

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

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

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

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

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

#11

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

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…