بحث هذه المدونة الإلكترونية

الأربعاء، 26 مايو 2010

Bridge Pattern


Bridge Pattern

هذا النمط يقوم على فصل كيفية بداية عمل الاوبجيكت  و المحتوى او الناتج النهائي فهو يفصل بين ال (abstraction ) و (implementation  ) . وهذا يفيد في البرامج التي يكون لها تحديثات فجزء منها ثابت وهو الموضوع به ال abstraction   وهو الذي يقوم باستدعاء دالة معينة في الجزء الاخر و هو ال implementaion فتظهر النتائج دون تدخل من الجزء الاول

دعنا نبدا بمثال صغير لكي تتضح الفكرة:

الثلاثاء، 25 مايو 2010

Proxy Pattern



Proxy Pattern

-        هذاالنمط يدعم العناصر التي تتحكم في انشاء عناصر اخرى او الوصول اليها وغالبا ما يكون ال proxy كائن صغير و Public  و يمثل او يكون بديل الى كائن اخر معقد وprivate
 
فهذا النمط عبارة عن ال class التي تقوم بانشاء اوالتحكم او تسهيل اوحماية الولوج لعنصر آخر ويكون للبروكسي والكائن الاخر نفس الانترفيس

مثال : 

class SubjectAccessor
    {
        public interface ISubject

        {
            string Request();
        }

        private class Subject:ISubject

        {

            public string Request()

            {
                return "Subject Request " + "Choose left door\n";
            }
        } 

        public class Proxy : ISubject
        {
            Subject subject; 

            public string Request()
            {
                // A virtual proxy creates the object only on its first method call

                if (subject == null)

                {
                    Console.WriteLine("Subject inactive");
                    subject = new Subject();
                }

                Console.WriteLine("Subject active");
                return "Proxy: Call to " + subject.Request();
            }
        } 

الأحد، 23 مايو 2010

Decorator pattern



النمط الديكوري (Decorator Pattern)



الدور او الوظيفة :  decorator pattern يهدف الى توفير وسيلة لربط الحالات الجديدة والسلوك إلى كائن بطريقة ديناميكية.  والكائن لا يعلم انه يجري عليه عملية "Decoration" ، الأمر الذي يجعل هذا النمط مفيد لتطور النظم. وهناك نقطة رئيسية في تنفيذ هذا النمط وهو انه يعمل على تزيين ال class  الاصلي و حتى المورث منه على حد سواء.



توضيح : فإن decorator pattern  تأخذ كائن موجود ويضيف إليه. وكمثال على ذلك ، النظر في الصورة التالية .هناك طرق عديدة للإضافة على الصورة ، مثل وضع الحدود من حولها أو تحديد العلامات ذات الصلة إلى المحتوى. يمكن عرض هذه الإضافات على رأس الصورة.
 هناك أربعة أشياء نلاحظها
سوياً : الصورة الأصلية كما هو

Design Patterns





السلام عليكم ورحمة الله وبركاته

تلخيص وشرح من كتاب OReilly.C.Sharp.3.0.Design.Patterns
نبدا باسم الله :
انماط التصميم Design Patterns
الأنماط هي تصميم حلول لمشاكل البرمجيات تجدها مرارا وتكرارا في تطوير التطبيقات في العالم الحقيقي. وحول أنماط التصميم والتفاعل بين الكائنات ، وكذلك توفير منصة اتصالات ممتازة، والحلول القابلة لإعادة الاستخدام للمشاكل التي تواجهه المبرمج.
وتنقسم الانماط الى ثلاث مجموعات هي الهيكليه والانشائية والسلوكية (structural, creational, and behavioral)
نبدأ جولتنا من أنماط التصميم مع مجموعة تعرف باسم الانماط الهيكلية. وهناك سبعة أنماط التي تشكل المجموعة الهيكلية ، ولكل منها دور من مرونة ، وطول عمر ، وأمن البرامج وهم
• ديكور Decorator
• وكيل Proxy
• جسر Bridge
• المعقد Composite
• وزن الذبابة Flyweight
• محول Adapter
• الواجهات Façade
النمط الهيكلي نمط مقلق ومهم لانه يتكون من طبقات والكائنات التي تشكل هيكل اكبر