11-01-23, 11:02 PM
السلام عليكم ورحمة الله وبركاته
#static #oop
#إستخدام_تقنية_static_في_الانظمة_البرمجية
– أثناء تصميمنا لنظام أدارة مبيعات المنتجات بالتقسيط المحاسبي ،كان من ضمن البيانات التي يتم عرضها للمستخدم النسبة المأوية لفوائد المبيعات ،ويتم أحتسابها بالمعادلة التالية :-
النسبة المأوية = (((قيمة البيع للمنتج – قيمة الشراء للمنتج) / قيمة الشراء للمنتج) * 100)
لذالك قمنا بإنشاء دالة تقوم بأرجاع النسبة المأوية بالشكل التالي :-
وكنا نستخدم هذة الدالة أثناء برمجتنا لأحدى واجهات النظام وعندما أنتقلنا الى برمجة الواجهات الاخرى أحتجنا لأستخدام هذة الدالة…
طبعا بأمكاننا نسخ الدالة إلى كلاس الواجهات الاخرى وأستخدامها بنفس الشكل سيكون سهل علينا ذالك ، ولكن أذا أردنا تعديل الدالة مثلا تقوم بأضافة قيمة أو تقوم بأعادة النسبة المأوية قيمة نصية مع أضافه علامة النسبة المأوية 100 % ،
فسوف نقوم بتعديل جميع الدوال التي في كلاسات الواجهات وسوف يكلفنا وقت لذالك ، ولكن أذا أنشأنا كلاس static عام في المشروع وعملنا كذالك الدالة بنفس الشيء فسوف نستطيع أستخدام الدالة من أي كلاس واجهه من كلاسات واجهات النظام ،وكذالك أذا أردنا تعديلها وتطويرها فسوف نعدلها هي فقط ، وستكون بالشكل التالي :-
وعندما نريد أستخدامها في كلاس من واجهات النظام سوف نستخدمها بشكل مباشر دون أستنساخ كائن من الكلاس بالشكل التالي :-
طبعا سوف تحتاج أن تعمل أشياء كثيرة لأنظمتك بأستخدام هذة التقنية ،
يمكن أن تعمل دوال أو خصائص أو متغيرات … ،
مثلا نظامك الحاسوبي برمجته لعدة مستخدمين ولكل مسخدم صلاحيات لواجهات معينه ، أثناء الانتقال من واجهة الى اخرى سوف تستعلم عن المستخدم وصلاحياته لعرض الواجهة بالبيانات والادوات الخاصه به ،
فبدلا من أن تستعلم من قاعدة البيانات في كل واجهه عن المستخدم لعرض الواجهة بالبيانات والادوات الخاصه به ، وتبطيئ النظام ،
سوف تقوم بالاستعلام عنها مرة واحدة أثناء تشغيل النظام وحفظ بيانات المستخدم وصلاحيته في كلاس public static ،
وسوف تقوم بعرض الواجهة بالبيانات والادوات الخاصه بمستخدم النظام بشكل اسرع … ،
كذالك عندما تستخدم تقنية static في أنظمتك البرمجية سيجعل أنظمتك سهلة التطوير والتعديل وتوفر الوقت لذالك .
النسبة المأوية = (((قيمة البيع للمنتج – قيمة الشراء للمنتج) / قيمة الشراء للمنتج) * 100)
لذالك قمنا بإنشاء دالة تقوم بأرجاع النسبة المأوية بالشكل التالي :-
كود :
double fun_percent (double Purchasing_price , double selling_price)
{
double percent = selling_price – Purchasing_price;
percent = percent / Purchasing_price;
percent *= 100;
return percent;
}
وكنا نستخدم هذة الدالة أثناء برمجتنا لأحدى واجهات النظام وعندما أنتقلنا الى برمجة الواجهات الاخرى أحتجنا لأستخدام هذة الدالة…
طبعا بأمكاننا نسخ الدالة إلى كلاس الواجهات الاخرى وأستخدامها بنفس الشكل سيكون سهل علينا ذالك ، ولكن أذا أردنا تعديل الدالة مثلا تقوم بأضافة قيمة أو تقوم بأعادة النسبة المأوية قيمة نصية مع أضافه علامة النسبة المأوية 100 % ،
فسوف نقوم بتعديل جميع الدوال التي في كلاسات الواجهات وسوف يكلفنا وقت لذالك ، ولكن أذا أنشأنا كلاس static عام في المشروع وعملنا كذالك الدالة بنفس الشيء فسوف نستطيع أستخدام الدالة من أي كلاس واجهه من كلاسات واجهات النظام ،وكذالك أذا أردنا تعديلها وتطويرها فسوف نعدلها هي فقط ، وستكون بالشكل التالي :-
كود :
public static class class_static
{
public static string fun_percent (double Purchasing_price , double selling_price)
{
double percent = selling_price – Purchasing_price;
percent = percent / Purchasing_price;
percent *= 100;
return “%” + percent.ToString();
}
}
وعندما نريد أستخدامها في كلاس من واجهات النظام سوف نستخدمها بشكل مباشر دون أستنساخ كائن من الكلاس بالشكل التالي :-
كود :
string percent = class_static.fun_percent (100,200);
طبعا سوف تحتاج أن تعمل أشياء كثيرة لأنظمتك بأستخدام هذة التقنية ،
يمكن أن تعمل دوال أو خصائص أو متغيرات … ،
مثلا نظامك الحاسوبي برمجته لعدة مستخدمين ولكل مسخدم صلاحيات لواجهات معينه ، أثناء الانتقال من واجهة الى اخرى سوف تستعلم عن المستخدم وصلاحياته لعرض الواجهة بالبيانات والادوات الخاصه به ،
فبدلا من أن تستعلم من قاعدة البيانات في كل واجهه عن المستخدم لعرض الواجهة بالبيانات والادوات الخاصه به ، وتبطيئ النظام ،
سوف تقوم بالاستعلام عنها مرة واحدة أثناء تشغيل النظام وحفظ بيانات المستخدم وصلاحيته في كلاس public static ،
وسوف تقوم بعرض الواجهة بالبيانات والادوات الخاصه بمستخدم النظام بشكل اسرع … ،
كذالك عندما تستخدم تقنية static في أنظمتك البرمجية سيجعل أنظمتك سهلة التطوير والتعديل وتوفر الوقت لذالك .
مصدر المعلومات :-
اسأل المولى ان قد وفقني في افادتكم في هذا الدرس و المعلومات
وفق الله الجميع