这篇博客没有相关技术细节,仅作为自己对设计模式这个东西的一点感悟和以后设计模式系列博客的一个写作思路。

作为非科班出身,误打误撞进入编程的人,在上研究生期间对于程序的唯一要求就是:能用。彼时,不知道有面向对象,内存管理,多线程,设计模式等等。各种代码杂糅,令后期的编写越来越痛苦,经常搞出来一些神奇的Bug,却不知如何解决。好在研究生期满毕业,这段自己摸索的代码生涯也告一段落。此后,在工作中逐渐开始参与项目,模块化的编写让我发现原来代码可以变得很规范,有经验的老同事设计的框架可以将代码像衣服一样收纳并很容易扩展,出现问题也容易排查到原因,这激发了我对于代码编写的思考。

在和老同事的聊天中,我知道了设计模式,也明白了一些共同开发项目时每个人要做些什么。设计模式便是一个很好的工具。所谓模式,我的理解就是“套路”,是先辈们经过思考和试验总结出来的一些好方法。在接下来的系列博客中,我想把自己对于这些好方法的理解记录下来,并编写一些反应这些模式的小demo。作为一个编程小学生,博客里的很多的语言可能就是来自于书中或者其他大神博主,不过坚持不参与任何商业用途,就当做站在巨人肩膀上的一些思考。当然,犯错是不可避免的,请看到博客的你怀着客观批判的态度,并欢迎你们的批评指正。

设计模式谢列博客计划用下面的流程编写:

一、模式的使用场景

二、模式的创建使用思路

三、模式的UML图

四、模式的小例子

在模式的小例子中,会配合UML图进行一些代码片段的讲解,并将源码开放出来,供大家交流讨论。

今年是2019年1月1日。在此立下一个目标,希望在2019年年末,可以比较熟练地掌握Head First中所提到的设计模式。

Koffee设计模式学习之路(一) —— 模式学习总结思路相关推荐

  1. 设计模式学习--------3.简单工厂模式学习

    场景: 服务端编写API方法供客户端调用,需要将接口与实现分离,客户端不需要知道具体实现,高度解耦,面向接口的编程. 定义: 提供一个创建对象实例的功能,而无须关心其具体实现,被创建实例的类型可以是接 ...

  2. 我的linux内核学习之路,Linux再学习(一)-学习路线规划

    摘要: ,一般可以通过-h查看help,就能找到相应的配置项还可以通过man命令,查看文档无论是什么命令行工具,最终的配置一般会落到一个文件上,只要找到了那个文件,文件中会有注释,也可以挨个儿看下去, ...

  3. Damon的es6学习之路 -- 循环的学习(day 2)

    先总结下es6常用的几种循环: forEach,map,filter,some,every,indexOf,lastIndexOf,reduce,reduceRight 其中,粗体标记的是我目前认为会 ...

  4. python 前端学习_python学习之路7 前端学习3

    1.页面布局 PosTion :fixed Title .left{float:left; }.right{float:right; }.head{height:58px;background-col ...

  5. .Net 设计模式进阶之路——生成器模式[Builder]

    「本文是月更第1天文章.对我来说,这是一个挑战,虽然很早就读过设计模式,但已经还回给了书本,这次拿来无非是想挑战下自己的输出能力,加油,webmote」

  6. 前端学习之路CSS基础学习二

    CSS属性相关 样式操作: (1)width:为元素设置宽度 (2)height:为元素设置高度 ps:块儿级标签才能设置长宽行内标签设置长宽没有任何影响 p{width: 30px;height: ...

  7. 设计模式 - 行为型 - 模板模式学习

    现象: 设计模式 - 行为型 - 模板模式学习 介绍: 模板模式的设计思路,在抽象类中定义抽象方法的执行顺序, 并将抽象方法设定为只有子类实现,但不提供独立访问的方法 只能通过已经被安排好的定义方法去 ...

  8. android开发用百度识别图片格式,Android开发学习之路-机器学习库(图像识别)、百度翻译...

    对于机器学习也不是了解的很深入,今天无意中在GitHub看到一个star的比较多的库,就用着试一试,效果也还行.比是可能比不上TensorFlow的,但是在Android上用起来比较简单,毕竟Tens ...

  9. python学习之路0x00

    Python学习之路0x00 在学习python之前,要知道什么是python? python是一种跨平台的计算机程序设计语言.是一种面向对象的动态类型语言,与c语言不同, c语言要编译后才能执行.而 ...

  10. 零基础AI人工智能的学习之路-从0到1-浅谈

    文章目录 0.背景 0.1. 知己 0.2. 知彼 1.if转行,这些文章可以参考学习 2.学习之路 2.1 个人学习之路 2.2 推荐的学习之路 3.推荐学习利器 3.1 Kagge 3.2 菜鸟教 ...

最新文章

  1. javascript最快入门
  2. python从零开始的学习-python学习过程之从零开始
  3. Coding: 编写合格的REST API
  4. vue如何获取年月日_BootstrapVue——Vue和Bootstrap的相结合,构建响应式应用更简单...
  5. Linux开机启动过程(7):内核执行入口点
  6. 《算法导论》(CLRS)第三版 第3章总结
  7. DRY(Don't Repeat Yourself )原则
  8. 免费报表工具 - RDP报表工具
  9. PASCAL VOC2012 增强数据集
  10. fastjson list转json
  11. 主成分分析在生命科学研究中的应用
  12. 2016-2017 ACM-ICPC, South Pacific Regional Contest (SPPC 16)
  13. 家里wifi网速越来越慢_家里网速变得很慢怎么排查原因
  14. 分离LZY的字符串(循环)
  15. 全国计算机二级c语言程序题库,全国计算机二级C语言操作题题库
  16. Eclipse更改字体大小设置
  17. GDI+绘图基础,绘制表格
  18. 超可爱的宝藏网站,看看你在漫画中长什么样
  19. SOEM 源码解析 ecx_FRMW
  20. 百度地图配合java 代码制作地图

热门文章

  1. 2013年部分节假日安排
  2. RK3288 Android7.1 接USB摄像头后扬声器无声音
  3. 水库水雨情监测系统方案分享-水库水位监测-水情监测
  4. Kubernetes 的 HPA 原理详解
  5. 多媒体计算机技术在教学中的应用,多媒体计算机技术在教学中的应用分析
  6. CAN总线控制器SJA1000
  7. 关于String你了解多少
  8. iOS冰与火之歌 – Objective-C Pwn and iOS arm64 ROP
  9. 批量删除时传参的转换
  10. win11安装后黑屏怎么解决