为什么说是“二见钟情”呢?别人都已经是“三见”、“四见”了,因为我没有参加软考,所以,对设计模式整体的学习,这个只能算是第二遍,以前虽然也经常回顾,但是都没有这么系统。

这一次的设计模式讲解,让我再一次认识到自己在思考问题方面的欠缺,同时,也正是因为这次设计模式的再次回顾,在对知识的理解和对学习方式的认识上又前进了一大步。

这次讲课的学习方式与以往有很大的不同,也许是因为我们的理解能力比之前学设计模式的时候有了提升,这次的讲解无论是对设计模式的理解还是对思维方式的反思都是一个很好的促进。

首先,从思考问题的方式上来说,首先要宏观掌握知识结构,通过简单的几步了解学习的整个过程,这也就是米老师经常提到的全局观。学习知识不要一下子扎到细节里,那样反而对知识的理解有失偏颇,而且也让自己的学习很吃力。正所谓“不谋全局者,不足谋一域”。所以,无论是学习还是做事,都要先有一个宏观的认识,才能保证不跑偏。否则,即使走的再远,方向不对,也是在做无用功。

其次,看问题不要一下子扎到复杂的情况里,要学会找临界点,将问题极端化,也就是将问题简单化,那样更有利于对问题的理解和分析。把问题极端化,其实就是抽象思想的体现,将共同点都提炼出来,看清楚简单的了,再逐步添加内容,不断发生变化,量变达到质变,就变成了另外一种设计模式。而且,这样会很容易的理解一连串的设计模式,这就是编织知识网,高效的学习,轻松的学习。

第三,我们这种讲课的方式,米老师退到幕后,学生来到台前,将学习的主动权交由学生,让我们的学习更具有生命力,更积极主动,调动了大家学习的热情。而且大家有机会在一起大范围的讨论,多种思想相互碰撞,能够相互启发。

第四,当再一次学习的时候,解决了以前很多疑惑或者是不理解的问题。以前觉得一个设计模式一个样,但是,通过这一次的学习,发现设计模式其实都是一样的,没有什么实质性的不同,绝大多数不过是抽象类和接口,就是不断抽象,封装,继承,实现,遵循设计模式的那几大原则,而且设计模式也不是一成不变的,需要我们根据实际情况灵活运用和组合,而没必要完全生搬硬套。

老师真的是个哲学家,因为他会以变化的眼光和联系的眼光看问题,先宏观后微观,思想和行动并重。。。太多了,说不完。。。

印象最深的就是三个工厂的例子:

涉及到的设计模式:简单工厂、工厂方法、抽象工厂。之前也知道这三个模式之间有关系,但是一直不能很好的抽象出来。这次通过米老师的讲解,非常形象明了,知道了三个模式之间是层层递进的抽象关系,并且可以倒推回来,分析三个模式的极端情况,找到其临界点来学习,能够更好的理解设计模式。三个模式之间相互转化而又相互联系,剪不断理不乱,这就是编织知识网。

通过这次设计模式的讲解,尤其是加上老师的指点,不仅仅是对设计模式有了更进一步的认识,更重要的是对自己学习和思考方式的反思,是重新审视自己的大好机会,其实老师经常强调这些学习方式和思考方式,但是自己不够用心,革命尚未成功,同志仍需努力。欠的债,老老实实地还吧。。。

二见钟情——设计模式相关推荐

  1. 【Design pattern】设计模式思路总结(一)

    看了一周的设计模式,跟着小菜的思路走! 从简单工厂过渡策略,后面看的这几个模式都是在单一职责,开放--封闭原则,依赖倒转原则下不断的改进,采用模式写出的代码更容易扩展,维护! 比较容易懂. 装饰模式: ...

  2. GOF23设计模式(结构型模式)代理模式~

    代理模式应用场景十分广泛,随便一个框架都会用到,因此学好代理模式对后续框架学习是最基本的要素!!今天我们就来讲讲代理模式! 目录 1.简介 1. 核心作用 2. 角色分析 2. 应用场景 4. 分类 ...

  3. GOF23设计模式(创建型模式)工厂模式

    目录: 一:工厂模式的核心本质 二:关于面向对象的六大基本原则 三:工厂模式的三大类详解(代码示例,详细分析) 首先,上咱本GOF23所有工厂模式的分类表格!!! 创建型模式 单例模式.工厂模式.抽象 ...

  4. GOF23设计模式(创建型模式)单例模式

    目录: 一:单例模式的核心作用.常见应用场景 二:五种单例模式及其实现 三:关于反射和反序列化破解单例模式的漏洞,以及相应的解决方案 四:测试五种单例模式的效率 一:核心作用及常见应用场景: 核心作用 ...

  5. Python七大原则,24种设计模式

    七大设计原则: 1.单一职责原则[SINGLE RESPONSIBILITY PRINCIPLE]:一个类负责一项职责.  2.里氏替换原则[LISKOV SUBSTITUTION PRINCIPLE ...

  6. Java设计模式:单例模式

    学而时习,稳固而之心, 好久没有复习java的知识了,今天有空温习了单例模式,这里记录一下 单例模式是常见的设计模式的一种,其特点就是 指一个类只有一个实例,且该类能自行创建这个实例  , 保证一个类 ...

  7. 设计模式中的六大基本原则

    软件设计中的基本共识: 1,高内聚,低耦合:如果想使软件系统架构稳定,那么我们期望软件的各模块内元素结合的紧密,而模块之间的耦合度(关联性)越低越好.高内聚不仅体现在模块上,单独的类或方法也应该是内聚 ...

  8. JS中的7种设计模式

    第九章Refactoring to OOP Patterns 重构为OOP模式 7种设计模式: 1,模版方法模式(template method) 2,策略模式(strategy) 3,状态模式(st ...

  9. 设计模式之创建型汇总

    设计模式 创建型 工厂方法模式 定义:定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行 使用场景: 创建对象需要大量重复的代码 客户端(应用层)不依 ...

最新文章

  1. 防止sql注入攻击的方法总结
  2. 详解@EnableEurekaServer和@EnableDiscoveryClient 或 @EnableEurekaClient注解
  3. Nginx隐藏PHP入口文件index.php
  4. mysql inception web_基于Inception搭建MySQL SQL审核平台Yearing
  5. Python 数据分析三剑客之 Matplotlib(八):等高线 / 等值线图的绘制
  6. UI素材干货模板|线框图wireframe线框图iOS设计稿
  7. java 每隔一小时运行_每隔一小时执行一次 Full GC 分析排查
  8. python怎么读写文件-python怎么读取文件内容
  9. VSCode连接远程服务器
  10. 微信支付服务器端php,APP微信支付php服务端函数方法
  11. 笔记本HDMI1.4 1080p下外接高刷显示器的实现方法之一
  12. 手机支架3d打印模型_新型高效率酶固定化3D打印支架
  13. 【注意力机制】Squeeze-and-Excitation Networks论文理解
  14. TOPCON/拓普康 SR-3AR分光辐射计
  15. 为什么说用PHP开发大型系统令人不爽
  16. 【菜鸡读论文】Learning-based Video Motion Magnification
  17. 我爱你,与你无关 【没有我的可怜人儿】
  18. 联络员(最短路-kruskal)
  19. C#中如何直接引用类的一个函数?
  20. 宏基笔记本 ATI 显卡卡死问题的解决办法

热门文章

  1. 联想计算机M.2固态银盘,自己如何安装M.2固态硬盘?台式机与笔记本电脑安装M.2 SSD图文教程...
  2. 泛型相关用法(day3)
  3. 【论文分享】图嵌入恶意域名检测算法:Malicious Domain Detection via Domain Relationship and Graph Models
  4. 蓝桥杯基础练习---特殊数字
  5. struts2-spring-hibernate实现员工的增删查功能
  6. 程序员兼职怎样报价力求中标?——接私活的项目报价策略
  7. Visual C++中error spawning cl.exe错误的两种解决方法
  8. 哪个相机可以拍gif动图_直接拍出GIF动态图的相机
  9. 【zabbix监控三】zabbix之部署代理服务器
  10. hexo butterfly主题 添加全局吸底APlayer