Latest web development tutorials

مقدمة في تصميم أنماط

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

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

ما هو صندوق جلوبل القناص (عصابة الأربعة والهجاء عصابة الأربعة)؟

عام 1994 من قبل إريك غاما، ريتشارد هيلم، رالف جونسون وجون Vlissides أربعة اشتركت في نشرها كتابا بعنوانأنماط التصميم - عناصر قابلة لإعادة الاستخدام Object- البرامج الموجهة ( الترجمة الصينية: أنماط التصميم - قابلة لإعادة الاستخدام البرمجيات الشيئية عنصر)الكتاب الذي ذكر لأول مرة مفهوم أنماط تصميم وتطوير البرمجيات.

أربعة مؤلفين جماعيصندوق جلوبل القناص (عصابة الأربعة والهجاء عصابة الأربعة).واقترحوا يتم تصميم نموذج تقوم أساسا على مبادئ التصميم وجوه المنحى.

  • وبدلا من برمجة واجهات للبرمجة.
  • تكوين كائن الأولوية بدلا من الميراث.

استخدام أنماط التصميم

أنماط التصميم في مجال تطوير البرمجيات لغرضين رئيسيين.

مطوري منصة مشتركة

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

أفضل الممارسات

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

أنواع من أنماط التصميم

وفقا لكتاب مرجعي من أنماط تصميمأنماط التصميم - عناصر قابلة لإعادة الاستخدام Object- البرامج الموجهة ( الترجمة الصينية: أنماط التصميم - عناصر البرنامج وجوه المنحى قابلة لإعادة الاستخدام)المذكورة، ما مجموعه 23 أنماط التصميم. هذه الأنماط يمكن تقسيمها إلى ثلاث فئات: إنشاء مخطط (أنماط أبداعية)، النموذج الهيكلي (أنماط الهيكلية)، نوع من نموذج (أنماط السلوكية). وبطبيعة الحال، سوف نناقش نوع آخر من أنماط التصميم: تصميم أنماط J2EE.

序号模式 & 描述包括
1创建型模式
这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用新的运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。
  • 工厂模式(Factory Pattern)
  • 抽象工厂模式(Abstract Factory Pattern)
  • 单例模式(Singleton Pattern)
  • 建造者模式(Builder Pattern)
  • 原型模式(Prototype Pattern)
2结构型模式
这些设计模式关注类和对象的组合。继承的概念被用来组合接口和定义组合对象获得新功能的方式。
  • 适配器模式(Adapter Pattern)
  • 桥接模式(Bridge Pattern)
  • 过滤器模式(Filter、Criteria Pattern)
  • 组合模式(Composite Pattern)
  • 装饰器模式(Decorator Pattern)
  • 外观模式(Facade Pattern)
  • 享元模式(Flyweight Pattern)
  • 代理模式(Proxy Pattern)
3行为型模式
这些设计模式特别关注对象之间的通信。
  • 责任链模式(Chain of Responsibility Pattern)
  • 命令模式(Command Pattern)
  • 解释器模式(Interpreter Pattern)
  • 迭代器模式(Iterator Pattern)
  • 中介者模式(Mediator Pattern)
  • 备忘录模式(Memento Pattern)
  • 观察者模式(Observer Pattern)
  • 状态模式(State Pattern)
  • 空对象模式(Null Object Pattern)
  • 策略模式(Strategy Pattern)
  • 模板模式(Template Pattern)
  • 访问者模式(Visitor Pattern)
4J2EE 模式
这些设计模式特别关注表示层。这些模式是由 Sun Java Center 鉴定的。
  • MVC 模式(MVC Pattern)
  • 业务代表模式(Business Delegate Pattern)
  • 组合实体模式(Composite Entity Pattern)
  • 数据访问对象模式(Data Access Object Pattern)
  • 前端控制器模式(Front Controller Pattern)
  • 拦截过滤器模式(Intercepting Filter Pattern)
  • 服务定位器模式(Service Locator Pattern)
  • 传输对象模式(Transfer Object Pattern)

هنا مع صورة كاملة لوصف العلاقة بين أنماط التصميم:

设计模式之间的关系

ستة مبادئ أنماط التصميم

1. افتح مقفلة المبدأ (توسيع قائمة انهيار المبدأ)

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

2 ريختر مبدأ الإحلال (Liskov تبديل المبدأ)

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

3. التبعية عكس مبدأ (الاعتماد عكس المبدأ)

هذا المبدأ هو أساس مبدأ الافتتاح والختام، والمضمون المحدد: للحصول على واجهات برمجة، اعتمادا على مجردة لا تعتمد على التفاصيل.

4، واجهة الفصل مبدأ (واجهة الفصل المبدأ)

معنى هذا المبدأ هو: استخدام واجهة معزولة متعددة هو أفضل من استخدام واجهة واحدة. كما أن لديها معنى آخر: للحد من درجة اقتران بين الطبقات. وبالتالي، فإن حقيقة أن أنماط التصميم بدءا من هندسة البرمجيات على نطاق واسع، وسهلة لرفع مستوى والحفاظ على تصميم البرمجيات، والتي تؤكد تقليل الاعتماد، والحد من اقتران.

5، ديميتر، المعروف أيضا باسم مبادئ الأقل المعروفة (ديميتر المبدأ)

الحد الأدنى تعرف المبدأ يعني: كيان يجب أن تتفاعل أقل قدر ممكن بين الكيانات الأخرى، مما يجعل نظام وظيفة وحدات مستقلة نسبيا.

6، مبادئ تخليق المتنوعة (المركب إعادة استخدام مبدأ)

ويشير التركيب المتعدد لمبدأ: قدر الإمكان استخدام الطريقة الاصطناعية / البوليمر، بدلا من استخدام الميراث.