什么是设计模式?

目录

概述:

什么是模式!!

为什么学习模式!!

模式和框架的比较:

设计模式研究的历史

关于pattern的历史

Gang  of  Four(GoF)

关于”Design”Pattern”

重提:指导模式设计的三个概念

 1.重用(reuse):是目标

 2.接口与实现分离

 3.Decouple

如何描述一个模式

 1.关键要素

 2.解决方案

 3.评测

 4.相关模式


概述:

什么是模式!!

     每个模式概述了一个问题,该问题反复在我们的周围出现,每个模式给出了对该问题的核心解决办法,因此,人们可以反复给出了对该问题的核心解决办法,人们可以反复使用给解决方法解决类似问题。

为什么学习模式!!

      1.模式可以帮助我们学习成功人士的经验,从而避免失误
      2.提升我们的认知
      3.读懂源代码,提升自己代码的水平
      4.面试工作的必备技能

模式和框架的比较

  1.模式(Patterns)

  1.1支持软件的结构和设计的重用

  1.2抓住了特定领域中问题的成功解决方案中的静态,动态结果和相互之间的协作关系

  1.3patterns与开发语言无关,但是建立在一定的环境基础上

  1.4例如:经典的MVC、Factory Method

   2.框架(Frameworks)

   2.1支持细节设计和代码的重用

   2.2framework是一组组件的综合,这些组件相互协作,为一族相关应用提供了一个可重用的框架结构

   3.两者结合

   3.1提高软件的质量
   3.2重用性,扩展性,性能,可维护性

   4.框架的HOllyood Principle

        -(“Don’t call us,We’ll call you.”)

   5.模式和框架的比较:

   5.1设计模式比框架更抽象

   5.2和框架相比,设计模式是更小单元的架构元素

   5.3从使用的广度来说,设计模式比框架更广,它与应用的相关性更小

设计模式研究的历史

关于pattern的历史

     -A Pattern Language, Christopher Alexander,1997

     -”Advanced C++ : Programming  Styles and ldims,” James Coplien, 1992

     -”Design Patterns: Elements of Reusable Object - Oriented Software”,GOF,1995

     -”Pattern-Oriented Software Architecture: A System of Patterns”(简单”POSA”),GoV,1996

Gang  of  Four(GoF)

关于DesignPattern

1.对已有模式的整理、分类

2.一套描述模式的词汇,可用于交流和文档化

3.为软件设计总结了宝贵的经验,这些设计经验可以被重用,但不是简单的代码重用

4.分类:

  -Creational Patterns

  -Structural Patterns

  -Behavioral Patterns

5.在软件设计模式领域,起到先驱的作用

重提:指导模式设计的三个概念

 1.重用(reuse):是目标

  -两种重要的重用手段

  ·Inheritance & composition

 2.接口与实现分离

   -接口保持不变,分离带来

   -多态性(polymorphism)

 3.Decouple

  -降低复杂性

如何描述一个模式

 1.关键要素

   -模式名称

   -问题,动机

   -约束

   -上下文

 2.解决方案

   -结构(Structure)

   -参与者(Participants)

   -协作(Collaboration)

   -实现(Implementation)

 3.评测

 4.相关模式

  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空白_d

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值