什么是设计模式?

简介: 什么是设计模式?

概述:

什么是模式!!

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

为什么学习模式!!

     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.相关模式

 


目录
相关文章
|
设计模式 存储 安全
【设计模式】五种创建者模式
创建者模式 创建型模式的主要关注点是“怎样创建对象?”,它的主要特点是“将对象的创建与使用分离”。 这样可以降低系统的耦合度,使用者不需要关注对象的创建细节。 创建型模式分为: 单例模式 工厂方法模式 抽象工程模式 原型模式 建造者模式 单例设计模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 单例模式的结构 单例模式的
65 0
|
6月前
|
设计模式 缓存 算法
设计模式
设计模式
40 0
|
6月前
|
设计模式 消息中间件 Kubernetes
设计模式总结(二)
设计模式总结(二)
|
设计模式
我所认识的设计模式
我所认识的设计模式
62 0
|
设计模式 算法 程序员
2023-6-9-一天一种设计模式
2023-6-9-一天一种设计模式
75 0
|
设计模式
设计模式思考总结
设计模式思考总结
65 0
|
设计模式 消息中间件 Java
一起来学设计模式之认识设计模式
前言 目前正在出一个设计模式专题系列教程, 篇幅会较多, 喜欢的话,给个关注❤️ ~ 本节给大家讲一下设计模式基本概念,它的基本原则以及有哪些设计模式~ 本专题的所有案例代码主要以Java语言为主, 好了, 废话不多说直接开整吧~ 设计模式初识 设计模式是一种经过验证的、被广泛应用的解决特定问题的软件设计方案,它提供了一种在软件设计中反复使用的解决方案。设计模式通常描述了一个问题的情境、解决方案和解决方案的优点和缺点。设计模式不是一种具体的编程语言特性或库,而是一种通用的设计思想和方法。
|
设计模式 XML 开发框架
设计模式的理解
设计模式的理解
设计模式的理解
|
设计模式 算法 安全
11种常用的设计模式
有这么一个很形象的比喻,把写代码比作是建房子,代码比作是砖瓦、一个完整的系统就好比是一栋高楼大厦、程序员无疑就好比是建(ban)筑(zhuan)工,这些很表面的东西我们都可以很形象深刻的理解,其实要设计和开发一个系统远远不只这些东西,深挖表象之下隐藏着的细节往往才是灵魂所在,诸如:算法和数据结构、框架、设计模式等,设计模式是一个虚幻的抽象的概念,好比建造房子时的设计理念方案一样,一个软件系统扩展性、可维护性以及稳定健壮性如何,很大程度上取决于设计模式。
124 0
11种常用的设计模式
|
设计模式 Java
23种设计模式-总揽篇
23种设计模式-总揽篇
23种设计模式-总揽篇