导读:设计模式也在不知不觉中,学习完了。上回开会,知道自己现在所谓的学完了,真的只是很浅显的东西。不过,以后还会继续的研究学习,这才让我安心了点。编程是一门技术,更是一门艺术。路曼曼其修远兮,吾将上下而求索。

一、基本概况

概念:Design pattern,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。

作用:可重用代码、让代码更容易被他人理解、保证代码可靠性。

地位:设计模式使代码编制真正工程化,设计模式是软件工程的基石脉络,如同大厦的结构一样。

内容说明:首先,是“干什么”,也就是创建型,做什么都得明确干什么;其次,是“干成什么样”,也就是结构型。编码,得明确编成什么样子的;最后,是“怎么干”,也就是行为型。当时看完这个,就想到信息系统开发的流程和软工的几个阶段,看着这几类设计模式类型也挺能对上号的。至于到底对不对,以后再学习了再接着说!

二、具体探究

1,创建型

要点:简单工厂——违背开放封闭原则;原型——深、浅复制;建造者——相同建造过程的产品的有限。

折中方案:工厂方法——工厂职责分类(基础,其他模式都是根据需求进一步演化)

使用时机:当一个系统应该独立于它的产品创建、构成、表示时。

价值:创建型模式隐藏了这些类的实例是如何被创建和放在一起,整个系统关于这些对象所知道的是由抽象类所定义的接口。这样,创建型模式在创建了什么,谁创建它,它是怎么被创建的,以及何时创建这些方面提供了很大的灵活性。

2,结构型

要点:桥接——聚合代替继承

代理VS外观

对象含义:代:单一对象;外:子系统

目标对象的访问权限:代:无法直接访问;外:可以(接口)

代理VS适配器

相同:性质:衔接功能

不同:代:代表进行和其他需要的操作交涉;适:为特定的使用目的,将类重新组合。

外观VS适配
相同:对现存系统的封装
不同:
对象的粒度:适:适配对象;外:适配整个子系统
接口使用:适:复用接口;外:定义新接口
3,行为型
要点:备忘录——封装边界;命令——类似需求;模板——可重复代码提炼至抽象类;中介者——迪米特原则
三、个人感受
用了差不多二十天学习完了设计模式,然后就用自己的理解,整理了一下。在这个过程中,我学习到的更多的不是设计模式的知识,而是通过这个学习,改变了一些自己的一些坏习惯。
上回开师徒会,师傅根据我的学习情况,给我定下了这个月的学习任务。当时觉得真的是要命,不可能完成任务。可是,事实就是,我真的完成了。反思一下自己的学习,真的浪费了好多时间,很多时间都没有用到学习上。这可能也就是没有目标的原因。以前也老爱睡觉,一睡就是以小时计算的那种。这回也改善了好多。
经过这次学习,总结出两个针对自己的方法:用自己喜欢的事儿,去奖励自己做自己不愿意做的事儿。还有就是:积极找师傅谈话,自己对自己下不了狠手,让师傅帮着下。

转载于:https://www.cnblogs.com/hhx626/p/6010460.html

【设计模式1】宏观总结相关推荐

  1. 算法、数据结构和设计模式

    一.程序设计思想,包括两个方面: 算法设计 和 设计模式 算法强调思想方法,数据结构强调数据的存储方式,后者是前者的基础 算法强调的是细节,设计模式强调的是整体的设计框架. 打个比方就是,设计模式是宏 ...

  2. 9000+字,唠唠架构中的设计模式

    1 设计模式概述 ​ 软件设计模式(Software Design Pattern),俗称设计模式,设计模式是一套被反复使用的.多数人知晓的.经过分类编目的.代码设计经验的总结.它描述了在软件设计过程 ...

  3. mvc 调用其他控制器方法session丢失_Java从入门到放弃;MVC 模式

    MVC 模式 MVC 模式是一种软件框架模式,被广泛应用在 JavaEE 项目的开发中.MVC 模式很好理解,但也十分重要,在今后的 Web 应用开发中,我们都离不开它. 之前,我们学习过了 Serv ...

  4. JavaEE知识体系梳理

    目录 JavaEE介绍: JavaEE的13种核心技术规范: 1.JDBC(Java Database)数据库连接 2.JNDI(Java Naming and Directory Interface ...

  5. 【设计模式】对六大原则的宏观把控和微观细化

    一天之前,终于将设计模式的第二遍看完了..在这两遍中,我又学到了很多知识.在之前看OOTV设计大赛时,总是提到面向对象设计的原则,这让我不明所以,直到看完整本书之后,才知道书中自有黄金屋..这篇文章主 ...

  6. java nio设计模式_Java NIO:浅析I/O模型

    也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗.在进入Java NIO编程之前,我们今天先来讨论一些比较基础的知识:I/O模型.下面本文先从同步和异步的概念 说起, ...

  7. 设计模式在外卖营销业务中的实践

    来自:美团技术团队 业务策略多变导致需求多变,是业界很多技术团队面临的最具挑战的问题之一.那么如何设计一套易于扩展和维护的营销系统呢? 今天的文章来自美团外卖营销技术团队,他们分享了从领域模型到代码工 ...

  8. [原]编程融入生活---设计模式总结

    看完了,就全忘了,不总结就等于没看!所以大概的总结了. 大话设计模式 大话设计模式中将近三十种模式,是将我们原来的代码框架思路转变成另一种思路.代码和生活是一样的,当我们发现重复的去做一件事情的时候就 ...

  9. 大家一起学面向对象设计模式系列Chapter 02 软件设计的基本原则

    我们为什么要使用设计模式呢?有人可能会说为了设计出"高内聚低耦合"的软件."高内聚低耦合"的软件实际上也就是本文所说的具有可维护性和可复用性的软件. 这篇文章主 ...

最新文章

  1. 个人随笔之《我有一个需要妈妈帮我实现的愿望》
  2. 使用 docker 搭建 web 服务环境
  3. VDI序曲九 实战体验Remote FX(重磅推荐)
  4. linux unix域socket_python3从零学习-5.8.1、socket—底层网络接口
  5. 访问tomcat7 java.lang.ClassCastException: org.apache.jasper.el.ELContextImpl
  6. Eclipse调试提示:Breakpoint attribute problem: installation failed
  7. (十二)random模块
  8. VGA线材说明与鉴别详解
  9. IDM 6.40.11.2 弹窗的解决思路
  10. AT070TN83 V1.0 背光不亮
  11. OS福利部落iOS15绕过激活工具,支持最新iOS15.5绕过
  12. c语言easyx背景图片,C++之设置背景图片(Easyx)
  13. java中级程序员全面学习路线教程
  14. win10 java模拟鼠标_[pc玩家]如何在Windows10中用键盘控制鼠标光标
  15. JdbcTemplate的增删改查用法
  16. HTML+CSS+JS大作业:商城网购网站设计——淘宝1页
  17. SHA-256算法实现
  18. 特征工程之one-hot解读
  19. oracle七参数坐标转换,MapGIS国土空间数据2000大地坐标系转换系统
  20. 一文搞定python绘折线图(标题,自定义刻度范围,xy轴刻度值的大小,垂直xy轴的虚线,标签,图例)

热门文章

  1. shinyapps安装
  2. Linux系统使用apt命令安装java
  3. java线程排序_Java中的并发排序
  4. ipython官网_IPython Notebook快速搭建
  5. matlab如何截取图像的中间部分_利用matlab提取并分割RGB图像中的某一个已知像素值的图像...
  6. springmvc框架介绍_Java修行第071天 ---SpringMVC(上)
  7. Error in configuration process解决方法
  8. ov5640帧率配置_一文看懂赛博朋克2077中低配置的设置方法和能畅玩的电脑有哪些?...
  9. mysql distinct多个字段_深入浅出Mysql索引的那些事儿
  10. django-pure-pagination 组件使用