设计模式的由来:

20 世纪 90 年代初,一些聪明的开发者偶然接触到 Alexander(Christopher Alexander 的建筑师) 有关模式的工作。他们非常想知道,在建筑学成立的理论,是否在软件设计中也适用。 
● 软件中是否存在不断反复出现、能够以某种同样方式解决的问题? 
● 是否可能用模式方法来设计软件,即先找出模式,然后依据这些模式 
创建特定的解决方式?

GoF 自己并没有创造书中的模式,认识到这一点非常重要。

相反。他们仅仅是 
将软件界已经存在的、反映了(针对各种详细问题的)优秀设计经验的模式识别出来。

模式的描写叙述应该包含 4 项:

● 模式的名称 
● 模式的目的。即要解决的问题 
● 实现方法 
● 为了实现该模式必须考虑的限制和约束因素 
更为详细的学习一个设计模式,应该考虑下面要点:

名称 :每一个模式都有惟一的用于标识的名称 
意图 :模式的目的 
问题: 模式要解决的问题 
解决方式 : 模式如何为问题提供适合其所处环境的一个解决 方案 
參与者和协作者: 模式所涉及的实体 
效果: 使用模式的效果。研究模式中起作用的各种因素 
实现 :模式的实现方式 注意:实现仅仅是模式的详细体现,而不能视为模式本身 
一般性结构: 显示模式典型结构的标准图

本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5347886.html,如需转载请自行联系原作者

Design Pattern Explained 读书笔记二——设计模式序言相关推荐

  1. Design Pattern Explained 读书笔记六——Bridge

    what? "De-couple an abstraction from its implementation so that the two can vary independently. ...

  2. 初读设计模式-----《design pattern explained》读后感

    从网上淘来了一本<design pattern explained>,用了半个月的时间细细的读完了这本书. 本打算单单的从技术角度进行总结的,但是却全然没有头绪.说说自己的粗浅的感悟吧.. ...

  3. 《How Tomcat Works》读书笔记(二)

    <How Tomcat Works>读书笔记(二) 这是<How Tomcat Works>第一二章的读书笔记.第一张主要写了一个静态资源处理的web服务器,第二章加了对ser ...

  4. oracle直查和call哪个更快,让oracle跑的更快1读书笔记二

    当前位置:我的异常网» 数据库 » <>读书笔记二 <>读书笔记二 www.myexceptions.net  网友分享于:2013-08-23  浏览:9次 <> ...

  5. 3D游戏设计读书笔记二

    3D游戏设计读书笔记二 一.简答题 • 解释 游戏对象(GameObjects) 和 资源(Assets)的区别与联系.   GameObjects是一个具体的实例,Assets是包括诸多游戏素材的资 ...

  6. 《Docker 技术入门与实践》-读书笔记二

    <Docker 技术入门与实践>-读书笔记一 <Docker 技术入门与实践>-读书笔记二 一.数据管理 用户在使用 Docker 的过程中,往往需要能查看容器内应用产生的数据 ...

  7. 《Introduction To Modern Cryptography》读书笔记二

    <Introduction To Modern Cryptography>读书笔记二 本笔记纯粹个人读书习惯与相应见解,内容归纳完全出于个人需要与个人局限,如有修改意见(比如哪儿应该是值得 ...

  8. 《李元芳履职记》读书笔记二 IT技术管理的沟通与团队建设

    <李元芳履职记>读书笔记二 接一 https://blog.csdn.net/qq_45937199/article/details/103305223 IT技术人员从技术岗走向管理岗,所 ...

  9. python图像处理《数字图像处理与python实现》读书笔记二:空间滤波

    文章目录 重要! 第三章 空间滤波 概览 3.1 空间滤波基础 3.1.1 空间滤波的机理 3.1.2 空间滤波器模板 3.2 平滑处理 3.2.1 平滑线性空间滤波器 3.2.2 统计排序滤波器 3 ...

最新文章

  1. Python搭建Keras CNN模型破解网站验证码
  2. java8的jvm优化_基于JDK8 版本的SpringBoot 启动参数优化(建议收藏)
  3. Mysql-study
  4. Windows 平台下解决httpd.exe: syntax error on line 39
  5. HD 1159 Common Subsequence (最长公共子序列)
  6. jcenter和maven下载失败Can't connect to SOCKS proxy:Connection refused: connect
  7. Linux 命令之 arch --显示主机的硬件结构类型
  8. IOS一些常用的越狱渠道
  9. hadoop longwritable类
  10. el表达式字符串与变量拼接
  11. 【优化算法】人工生态系统优化算法(AEO)【含Matlab源码 023期】
  12. java毕业设计校园博客系统mybatis+源码+调试部署+系统+数据库+lw
  13. Linux 镜像文件ISO下载地址、centos网络配置:
  14. FFmpeg-2、编解码及视频像素格式尺寸转换和音频重采样
  15. python写圆柱的体积_继承实现圆柱体面积体积的计算
  16. c mysql加密解密_mysql内置加密函数对数据加密
  17. Vue使用自定义字体
  18. k8s报错503或者其他网络错误 Readiness probe failed: HTTP probe failed with statuscode: 503
  19. 8种开源的ETL工具
  20. 爬取有道翻译自制小软件

热门文章

  1. ICML新研究提出泛化能力评估新指标:直接上向量余弦距离就OK,还开源了相关代码...
  2. Kaggle大牛小姐姐自述:我是怎么成为竞赛中Top 0.3%的 | 干货攻略
  3. IntelliJ IDEA上操作GitHub
  4. AC日记——丑数 codevs 1246
  5. CentOS 7 程序自启动的问题
  6. Linux下时间戳的换算方法
  7. 克隆Centos 无法上网
  8. 怎么快速解决KeyShot占CPU100%问题
  9. POJ-2391 Ombrophobic Bovines 网络流-拆点构图
  10. CodeSmith(2):对象和控制台