How to Use Design Patterns
Eric Gamma interviewed by Bill Venners:
Design Patterns help people learn object-oriented thinking: leverage polymorphism, design for composition, delegation, balance responsibilities, provide pluggable behavior. They help you where you need more flexibility, to encapsulate an abstraction, to make code less coupled, preserve layers, avoid up calls and circular dependencies.
You only appreciate a pattern once you have felt this design pain (for example duplicated code). Do not start immediately throwing patterns into a design, but use them as you go and understand more of the problem. Trying to use all the patterns is a bad thing. When you have a code smell go to the patterns toolbox to find a solution. The goal is a clean, easy to understand API, not to win an I-used-the-most-patterns contest.
When you really need extensibility, then patterns provide you with a way to achieve it. But when you don't need it, you should keep your design simple and not add unnecessary levels of indirection.
Pattern density: core abstractions, and around that several other emerging design points, which in turn are materialized by pattern instances.
Being fluent in patterns conversation goes really fast, enabling a high-velocity design. Patterns give us a language to talk about design.
micro-architectures: recurring design structures that give you properties like extensibility, decoupling, and last but not least, elegance.
For a good example of pattern usage see JUnit: A Cook's Tour, an article by Erich Gamma and Kent Beck, that walks you through the design of JUnit by "starting with nothing and applying patterns, one after another, until you have the architecture of the system."
Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. The authoritive guide and without doubt one of the most influential books on software development of the past decade.
Head First Design Patterns, by Elisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra. A recent book that communicates the essence of design patterns in a novel and highly visual way.
Design Patterns help people learn object-oriented thinking: leverage polymorphism, design for composition, delegation, balance responsibilities, provide pluggable behavior. They help you where you need more flexibility, to encapsulate an abstraction, to make code less coupled, preserve layers, avoid up calls and circular dependencies.
You only appreciate a pattern once you have felt this design pain (for example duplicated code). Do not start immediately throwing patterns into a design, but use them as you go and understand more of the problem. Trying to use all the patterns is a bad thing. When you have a code smell go to the patterns toolbox to find a solution. The goal is a clean, easy to understand API, not to win an I-used-the-most-patterns contest.
When you really need extensibility, then patterns provide you with a way to achieve it. But when you don't need it, you should keep your design simple and not add unnecessary levels of indirection.
Pattern density: core abstractions, and around that several other emerging design points, which in turn are materialized by pattern instances.
Being fluent in patterns conversation goes really fast, enabling a high-velocity design. Patterns give us a language to talk about design.
micro-architectures: recurring design structures that give you properties like extensibility, decoupling, and last but not least, elegance.
For a good example of pattern usage see JUnit: A Cook's Tour, an article by Erich Gamma and Kent Beck, that walks you through the design of JUnit by "starting with nothing and applying patterns, one after another, until you have the architecture of the system."
Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. The authoritive guide and without doubt one of the most influential books on software development of the past decade.
Head First Design Patterns, by Elisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra. A recent book that communicates the essence of design patterns in a novel and highly visual way.
1 Comments:
شركة تنظيف
تهتم شركة قمم التميز باعمال وخدمات التنظيف فى اى مكان فى تنظيف الشقق – البيوت – المنازل – المصانع واى مكان يحتاج الى اعمال التنظيف من اجل ان تساعد فى الوصول الى افضل ما تجدة من نتائج مميزة شركة تنظيف شقق بالرياض
تنظيف يحتاج للاشياء معقدة من الادوات ، مثل الغرف المنزل لها ادوات التنظيف الخاصة، الصالون المدهب يحتاج لمنظف الخاص ، وسطح فى المنزل يتطلب مواد متخلفة ، فكثير من المنظفات المطلوبة حتى تكون عملية التنظيف سهلة ومن المنظفات : مبيض التواليت ، منظف الحمام، المطهرات ، المنظف للنوافذ شركة تنظيف فلل بالرياض
والارضيات والغسيل ، سائل الغسيل واعمال المنزل الصغيرة يمكن انجازاها بفوطة جافة ومنظف جيد ، المنظف المصنوع بقل الامكنيات ، معلقتين من الخل الابيض مع لتر من الماء الساخن وضعهم فى بخاخة . بيكربونات الصوديم لتنظيف البلاط يمكن مزج ثلاثه اجزاء من الماء الساخن مع جزء من الصودا لتنطيف الفرن والثلاجة ، وبيكربونات الصوديم بقليل من سائل الجلى يتكون معجون سميك صالح لتنظيف الحمام ، يمكن استخدام بيكربونات الصوديم وضعه فى صحن صغير ولطرد الروائح الكريهة من الثلاجة ، كربونات الصوديم فعالة فى ازالة البقع الدهنية لانها قلوية ويجب لبس قفازات لاستخدامها . شركة تنظيف بالرياض
الخل الابيض وعصير الليمون يمكن تنظيف السطوح الزجاجية والخشبية المصقولة ، ويمكن استخدام الخل الابيض والليمون للتخلص من الروائح الكريهة والتعطير .
عند التنظيف يجب لبس القفازات لحماية الايدى من المواد المنظفه ، ويمكن لبس الفقازات عند غسيل الصحون وتكون مخصص لعمل فى المطبخ .
والمنزل النظيفة من غير فوضوى أجمل بكثير وافضل ،وإذا توفر جميع الادوات النظافة داخل بيت تكون عمليه النظافة سهلة
للتنظيف المنزل من اعلى الى اسفل ، اى تنظيف الغبار من اعلى الى اسفل ويمكن استخدام الاجهزة الكهربائية فى عملية التنظيف .
تنظيف النوافذ باستخدام قطعة قطنية فى مسح الزجاج وللتجفيف بورقة من الجرائد ، وتنظيف الاسطح الزجاجية للمنضدة باستعمال عصير ليمون ودعكها ثم تجفيفها بفوطة ورقية. ويمكن استعمال معجون الاسنان فى ازالة الخدوش الصغيرة من الزجاج . شركة تنظيف منازل بالرياض
لتنظيف الاثاث استعمال منظف على قليل من نشادر ، عدم وضع الاثاث فى أشعه الشمس فالشمس تجفف الأثاث ، للتخلص من الحلقات التى تكون على المنضدة بقليل من المنظف مع النشادر ثم مسحها بفوطة جافة ثم تلميعها بالملمع .
لتنظيف الحمام باستخدام الادوات النظافة الخاصة للحمام فى الحمام ، تنظيف السيراميك والمرايا باستخدام مطهر الجراثيم وتنظيف كل شئ فى الحمام مثل مقبض الباب ومفتاح الكهرباء ، والتخلص من القاذورات فى الاركان الضيقة فى الحمام ، تنظيف الخلاطات المياه ومسحها بقطعة قماش مغموسة فى خل او زيت الطعام ، لتنظيف الحمام باستخدام المناديل المعقمة ومسح منطقة الدش والمرحاض .
يمكن وضع جدول زمنى لتنظيف المنزل : ترتيب السرير وتغير ملايات السرير كل اسبوع ، غسيل الملابس اذا كانت العائلة مكونة من الاطفال يقومون بتوسيخ ملابسهم بشكل متكرر فيجب تنظيف البقع سريعا . اسعار تنظيف الشقق بالرياض
وغسل الاوانى الطعام باليد او فى غسالة الاطباق وغسلها يوميا لا نها تشكل العفن وقد تنيجة خطر ويسبب امراض .
ومسح اسطح المطبخ بمنظف مضاد للجراثيم للوقاية من تكاثرها ، وهى افضل طريقة لتجنب الجراثيم التى تنتقل عن طريق الطعام .
Post a Comment
Read more about Software Quality at the <<Software Quality Weblog Home