设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
设计模式于己于他人于系统都是多赢的,项目中合理的运用设计模式可以完美的解决很多问题,每种模式在
现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的
核心解决方案,这也是它能被广泛应用的原因。一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、
备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。其实还有两类:并发型模式和线程池模式。用一个图片来整体描述一下:其实还有两类:并发型模式和线程池模式。二、设计模式的六大原则1、开闭原则(Open Close Principle)
开闭原则就是说对扩展开放,对修改关闭。为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,
我们需要使用接口和抽象类2、里氏代换原则(Liskov Substitution Principle)
任何基类可以出现的地方,子类一定可以出现。 3、依赖倒转原则(Dependence Inversion Principle)
这个是开闭原则的基础,具体内容:真对接口编程,依赖于抽象而不依赖于具体。4、接口隔离原则(Interface Segregation Principle)
使用多个隔离的接口,比使用单个接口要好。降低依赖,降低耦合。5、迪米特法则(最少知道原则)(Demeter Principle)
尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。6、合成复用原则(Composite Reuse Principle)

什么是设计模式(Design Patterns)相关推荐

  1. 设计模式 - Design Patterns

    一. 什么是设计模式? 设计模式(Design Pattern)是一套被反复使用.多数人知晓的.经过分类的.代码设计经验的总结. 设计模式对于面向对象编程语言的开发者来说是必备知识,但对于开发者来说设 ...

  2. 架构与设计 之一 C 嵌入式设计模式(Design Patterns for Embedded Systems in C)的学习记录

    唉   时至今日,已经不知道在嵌入式的道路上到底挣扎了多少个岁月,总感觉要"病入膏肓"了.此间总是不时出现一些疑惑:人家搞 Java.搞 C# 的动不动就是什么架构 / 框架的,搞 ...

  3. 设计模式(Design Patterns)详解

    设计模式(Design Patterns) --可复用面向对象软件的基础一般会用到的: Factory( 工厂模式) Singleton(单例模式) 这两个比较多 Proxy(代理模式) Adapte ...

  4. 设计模式教程(Design Patterns Tutorial)笔记之一 创建型模式(Creational Patterns)...

    设计模式教程(Design Patterns Tutorial)笔记之一 创建型模式(Creational Patterns) 目录 · 概述 · Factory · What is the Fact ...

  5. Design patterns 设计模式

    Christopher Alexander 说过:"每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心.这样,你就能一次又一次地使用该方案而不必做重复劳动" ...

  6. 架构设计 之一 C 嵌入式设计模式(Design Patterns for Embedded Systems in C)学习笔记

    前言   时至今日,已经不知道在嵌入式的道路上到底挣扎了多少个岁月,总感觉要"病入膏肓"了.此间总是不时出现一些疑惑:人家搞 Java.搞 C# 的动不动就是什么架构 / 框架的, ...

  7. Head First Design Patterns(深入浅出设计模式)-目录

    目录 序 你的大脑是如何理解设计模式的?此时,你正在设法学习些知识,而你的大脑要通过确认这些知识来给你提供支持.你的大脑在想:"最好出去做些更重要的事情,就象消灭野兽或者光着身子滑雪不是个好 ...

  8. 艾伟_转载:C# Design Patterns (3) - Decorator

    Decorator Pattern (装饰模式) 装饰模式可「动态」地给一个对象添加一些额外的职责,提供有别于「继承」的另一种选择.就扩展功能而言,Decorator Pattern 透过 Aggre ...

  9. 检索com类工厂 80070005_Hands-On Design Patterns With C++(十二)友元工厂

    目录: trick:Hands-On Design Patterns With C++(零)前言​zhuanlan.zhihu.com 友元工厂 c++中,友元用于给予其他类访问权限.本章具体讨论以下 ...

  10. Java23中设计模式(Design Patterns)详解

    2019独角兽企业重金招聘Python工程师标准>>> 设计模式(Design Patterns) --可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复 ...

最新文章

  1. mongdb开始标记
  2. 我在海外做产品的1000 天:三大观察与学习
  3. 自定义SpringBoot start 自动打印日志
  4. 长江存储年底提供自研32层堆叠3D NAND闪存样品
  5. oracle中何时会用到join,Oracle中join用法的演示
  6. 模拟监控和真实用户体验监测,选哪个?
  7. 脚本程序gdb 脚本
  8. 随手记_C++语法中的一些注意事项
  9. 爬虫选用PPTP协议代理ip的必要性
  10. H5网页播放器EasyPlayer如何实现iOS端H.265视频全屏播放效果?
  11. 计算机内加减法的溢出处理
  12. Maya 展UV和贴图
  13. Python实现简繁体转换,现在的人玩得老花了
  14. 微信企业号加密异常处理:InvalidKeyException
  15. 如何用函数求出身份证号码中的出生日期——CONCATENATE、MID函数的使用方法
  16. 怎样利用博客推广自己的网店?
  17. Java_Set接口
  18. 计算机的基础操作知识试题,计算机操作基础知识试题(220道)
  19. 图像处理——图像平滑
  20. 阿飞的LeetCode-NAVIGATOR

热门文章

  1. nand ubi - 5 kernel和ubi
  2. 【译】 WebSocket 协议第六章——发送与接收消息(Sending and Receiving Data)
  3. 作用域、执行环境、作用域链
  4. Ambari2.6.2集成Kerberos
  5. 【Python】Docx解析
  6. PHP学习笔记(一):理解匿名函数与Closure
  7. 第一次打开Lightroom时的基本设置
  8. java的throw_浅谈Java的throw与throws
  9. MySQL高级 - NULL值的判定
  10. Nacos源码DistroConsistencyServiceImpl