عالم الأنماط
عندي اقتراح اقدمه للمشرف رامي العيساوي و هو ان يجعل هذا الموضوع من المواضيع المثبتة لاهميته في البرمجة
mofeedchaar@hotmail.com
شكراً لك أخي mofeed chaar
على مجاملتك
على العموم أنا أرى أن هناك مواضيع أقيم من هذا الموضوع بمراحل
لكن مشرفينا الأعزاء تجاهلوها
لا أعلم سبباً لذلك
مواضيع الأخ رومانسي
موضوع الأخ محمد إبراهيم عن تقنية Hibernate
مواضيع لا تحصى
أتمنى أن يثبتوها
تحياتي
النمط الخامس: نمط الوكيل
اعذروني لم أستطع من تغيير المحتوى لكي يتناسب مع المنتدى
السلام عليكم
منذ مدة طويلة لم أكتب في هذا القسم
بالطبع انشغلت بمواضيع كثيرة
وكعادتي تركت ثقوباً ورائي
اليوم أعود إلى هذا الثقب الكبير
وأحاول أن أسد منه ما أستطيع
يذكرني هذا التشبيه
بالذي شبه الفيل بالنملة
تخيلوا أني أشبه علم الأنماط بالثقب
أوووووووووف
على كل حال عدت لأتكلم
وأنا عندما أتكلم أحتاج إلى طلقة مدفعية لإسكاتي
(ياليت لو يخدمنا أحدهم ويقوم بذلك)
عبده احترم نفسك وإلا طردتك من الموضوع
(يا شيخ اتنيل أنتا ومواضيعك الغبية)
الأخ عبده لا يصلح معه إلا حل واحد
بالتأكيد ليس إخراجه بالقوة
لأن هذا موضوع ستطير فيه الكثير من الرقاب
على كل حال سنستحمله حتى نحافظ على الرقاب في مكانها
اليوم أحدثكم عن نمط الوكيل proxy
المشكلة:
أحياناً هناك كائنات تحتاج إلى ذاكرة كبيرة
وأحياناً أخرى هناك كائنات تحتاج إلى معالجات كبيرة لإنشائها
وبكل وقاحة تجد أحدهم ينشئ منها العشرات
أوووووووووف
هذا مكلف جداً
ما الحل إذن؟
سنقوم بالحجر على هذه الكائنات
وتوكيل كائن محايد لكي يقوم بإدارة عملية إنشائها
ومن هنا نشأت تسمية الوكيل
نحتاج إلى مثال لتوضيح المفهوم
لدينا الفئة صورة هذه الفئة تقوم بالعمليات المعقدة
public class Image{
protected Image(String path){
//complex operation and logic
//huge memory
}
}لهذا سننشئ فئة وكيل عن الصورة لتنظم عملية إنشاء الكائن
public class ImageMangement{
Map<String,Image> images=new HashMap<String,Image>();
public ImageMangement(){
//complex operation and logic
//huge memory
}
public Image load(String path){
if(imagesPath.containsKey(path)
return images.get(path);
else{
Image image=new Image(path);
images.put(path,image);
}
}
}لاحظوا أنا راعينا أن إنشاء كائن من صورة مكلف جداً
فلا نقوم بإنشاؤه إلا إذا كان غير موجود مسبقاً
الآن نرى كيفية الاستخدام
أنا الآن فئة من خارج الحزمة
وأريد أن أتعامل مع هذه الحزمة
أحتاج إلى صورة
أريد صورة يا أخوة هل هناك من لديه واحدة
يتبرع الأخ الوكيل بأن يلبي طلبي
لو أتيت مرة أخرى أريد نفس الصورة
لن يقوم بتحميلها مرة أخرى إلى الذاكرة
وإنما سيعطيني الصورة السابقة
لاحظوا أن الفئة صورة مخفية عن الفئات خارج حدود الحزمة
لهذا فلن نستطيع التعامل معها إلا من خلال الوكيل
يا سلام ما أجمل الحياة
هذا نمط سهل جداً
ومفيد جداً
وفائدته واضحة هنا
في الحزم الكبيرة يجب أن يكون هناك تنظيم للذاكرة بشكل جيد
وهذا مايقوم به الأخ وكيل
طبعاً هذا نوع من التجريد
الذي يمنع المطور من الإضرار ببرنامجه
تحياتي
ايه يا عم ده
كنت مخبى الكلام ده فين
موضوع جميل و قيم فوق ما اتخيل
و عاوز اقراه كلمة كلمة
و اطبقه .... بس ربنا ينهى شهر الامتحانات ده و ابتدى اتفرغ للحاجات الهامة دى ..... مش عارف ليه الكلية مش مهتمة بالحاجات دى تحب تحكى فى الفاضية ديماً .
و بعدين ا ى حاجة بقى اكتبها فى قسم الجافا الله بقى عشان متزوغش مننا ههههههه بهزر
بســم الله الـرحمــن الرحيــم
جزاك الله خيرا أخي علاء الصالحي
على الطرح الجيد والموضوع الممتاز
ننتظر جديدك فلا تحرمنا

تحياتي
