【设计模式1】宏观总结
导读:设计模式也在不知不觉中,学习完了。上回开会,知道自己现在所谓的学完了,真的只是很浅显的东西。不过,以后还会继续的研究学习,这才让我安心了点。编程是一门技术,更是一门艺术。路曼曼其修远兮,吾将上下而求索。
一、基本概况
概念:Design pattern,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
作用:可重用代码、让代码更容易被他人理解、保证代码可靠性。
地位:设计模式使代码编制真正工程化,设计模式是软件工程的基石脉络,如同大厦的结构一样。
内容说明:首先,是“干什么”,也就是创建型,做什么都得明确干什么;其次,是“干成什么样”,也就是结构型。编码,得明确编成什么样子的;最后,是“怎么干”,也就是行为型。当时看完这个,就想到信息系统开发的流程和软工的几个阶段,看着这几类设计模式类型也挺能对上号的。至于到底对不对,以后再学习了再接着说!
二、具体探究
1,创建型
要点:简单工厂——违背开放封闭原则;原型——深、浅复制;建造者——相同建造过程的产品的有限。
折中方案:工厂方法——工厂职责分类(基础,其他模式都是根据需求进一步演化)
使用时机:当一个系统应该独立于它的产品创建、构成、表示时。
价值:创建型模式隐藏了这些类的实例是如何被创建和放在一起,整个系统关于这些对象所知道的是由抽象类所定义的接口。这样,创建型模式在创建了什么,谁创建它,它是怎么被创建的,以及何时创建这些方面提供了很大的灵活性。
2,结构型
要点:桥接——聚合代替继承
代理VS外观
对象含义:代:单一对象;外:子系统
目标对象的访问权限:代:无法直接访问;外:可以(接口)
代理VS适配器
相同:性质:衔接功能
不同:代:代表进行和其他需要的操作交涉;适:为特定的使用目的,将类重新组合。
外观VS适配
相同:对现存系统的封装
不同:
对象的粒度:适:适配对象;外:适配整个子系统
接口使用:适:复用接口;外:定义新接口
3,行为型
要点:备忘录——封装边界;命令——类似需求;模板——可重复代码提炼至抽象类;中介者——迪米特原则
三、个人感受
用了差不多二十天学习完了设计模式,然后就用自己的理解,整理了一下。在这个过程中,我学习到的更多的不是设计模式的知识,而是通过这个学习,改变了一些自己的一些坏习惯。
上回开师徒会,师傅根据我的学习情况,给我定下了这个月的学习任务。当时觉得真的是要命,不可能完成任务。可是,事实就是,我真的完成了。反思一下自己的学习,真的浪费了好多时间,很多时间都没有用到学习上。这可能也就是没有目标的原因。以前也老爱睡觉,一睡就是以小时计算的那种。这回也改善了好多。
经过这次学习,总结出两个针对自己的方法:用自己喜欢的事儿,去奖励自己做自己不愿意做的事儿。还有就是:积极找师傅谈话,自己对自己下不了狠手,让师傅帮着下。
转载于:https://www.cnblogs.com/hhx626/p/6010460.html
【设计模式1】宏观总结相关推荐
- 算法、数据结构和设计模式
一.程序设计思想,包括两个方面: 算法设计 和 设计模式 算法强调思想方法,数据结构强调数据的存储方式,后者是前者的基础 算法强调的是细节,设计模式强调的是整体的设计框架. 打个比方就是,设计模式是宏 ...
- 9000+字,唠唠架构中的设计模式
1 设计模式概述 软件设计模式(Software Design Pattern),俗称设计模式,设计模式是一套被反复使用的.多数人知晓的.经过分类编目的.代码设计经验的总结.它描述了在软件设计过程 ...
- mvc 调用其他控制器方法session丢失_Java从入门到放弃;MVC 模式
MVC 模式 MVC 模式是一种软件框架模式,被广泛应用在 JavaEE 项目的开发中.MVC 模式很好理解,但也十分重要,在今后的 Web 应用开发中,我们都离不开它. 之前,我们学习过了 Serv ...
- JavaEE知识体系梳理
目录 JavaEE介绍: JavaEE的13种核心技术规范: 1.JDBC(Java Database)数据库连接 2.JNDI(Java Naming and Directory Interface ...
- 【设计模式】对六大原则的宏观把控和微观细化
一天之前,终于将设计模式的第二遍看完了..在这两遍中,我又学到了很多知识.在之前看OOTV设计大赛时,总是提到面向对象设计的原则,这让我不明所以,直到看完整本书之后,才知道书中自有黄金屋..这篇文章主 ...
- java nio设计模式_Java NIO:浅析I/O模型
也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗.在进入Java NIO编程之前,我们今天先来讨论一些比较基础的知识:I/O模型.下面本文先从同步和异步的概念 说起, ...
- 设计模式在外卖营销业务中的实践
来自:美团技术团队 业务策略多变导致需求多变,是业界很多技术团队面临的最具挑战的问题之一.那么如何设计一套易于扩展和维护的营销系统呢? 今天的文章来自美团外卖营销技术团队,他们分享了从领域模型到代码工 ...
- [原]编程融入生活---设计模式总结
看完了,就全忘了,不总结就等于没看!所以大概的总结了. 大话设计模式 大话设计模式中将近三十种模式,是将我们原来的代码框架思路转变成另一种思路.代码和生活是一样的,当我们发现重复的去做一件事情的时候就 ...
- 大家一起学面向对象设计模式系列Chapter 02 软件设计的基本原则
我们为什么要使用设计模式呢?有人可能会说为了设计出"高内聚低耦合"的软件."高内聚低耦合"的软件实际上也就是本文所说的具有可维护性和可复用性的软件. 这篇文章主 ...
最新文章
- 个人随笔之《我有一个需要妈妈帮我实现的愿望》
- 使用 docker 搭建 web 服务环境
- VDI序曲九 实战体验Remote FX(重磅推荐)
- linux unix域socket_python3从零学习-5.8.1、socket—底层网络接口
- 访问tomcat7 java.lang.ClassCastException: org.apache.jasper.el.ELContextImpl
- Eclipse调试提示:Breakpoint attribute problem: installation failed
- (十二)random模块
- VGA线材说明与鉴别详解
- IDM 6.40.11.2 弹窗的解决思路
- AT070TN83 V1.0 背光不亮
- OS福利部落iOS15绕过激活工具,支持最新iOS15.5绕过
- c语言easyx背景图片,C++之设置背景图片(Easyx)
- java中级程序员全面学习路线教程
- win10 java模拟鼠标_[pc玩家]如何在Windows10中用键盘控制鼠标光标
- JdbcTemplate的增删改查用法
- HTML+CSS+JS大作业:商城网购网站设计——淘宝1页
- SHA-256算法实现
- 特征工程之one-hot解读
- oracle七参数坐标转换,MapGIS国土空间数据2000大地坐标系转换系统
- 一文搞定python绘折线图(标题,自定义刻度范围,xy轴刻度值的大小,垂直xy轴的虚线,标签,图例)
热门文章
- shinyapps安装
- Linux系统使用apt命令安装java
- java线程排序_Java中的并发排序
- ipython官网_IPython Notebook快速搭建
- matlab如何截取图像的中间部分_利用matlab提取并分割RGB图像中的某一个已知像素值的图像...
- springmvc框架介绍_Java修行第071天 ---SpringMVC(上)
- Error in configuration process解决方法
- ov5640帧率配置_一文看懂赛博朋克2077中低配置的设置方法和能畅玩的电脑有哪些?...
- mysql distinct多个字段_深入浅出Mysql索引的那些事儿
- django-pure-pagination 组件使用