文档章节

head first设计模式概述

比雷
 比雷
发布于 2017/04/09 22:57
字数 811
阅读 69
收藏 1

钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>

一、原则

封装变化

多用组合、少用继承

针对接口编程,不针对实现编程

为交互对象之间的松耦合设计而努力

类应该对扩展开发,对修改关闭

依赖抽象,不要依赖具体类

只和朋友交谈

别找我,我会找你

类应该只有一个改变的理由

二、设计模式

1、策略模式

封装可以互换的行为,并使用委托来决定要使用哪一个。

2、单件模式

确保只有一个对象呗创建

3、工厂模式、抽象工厂

由子类决定要创建的具体类是哪一个。如果创建对象的家族,使用抽象工厂

4、装饰者模式

包装一个对象,以提供新的行为

5、适配器模式

封装对象,并提供不同的接口

6、观察者模式

让对象能够在状态改变时被通知

7、命令模式

封装请求成为对象

8、模板方法

由子类决定如何实现一个算法中的步骤

9、迭代器模式、组合模式

在对象集合之中游走,而不暴露集合的实现。客户用一致的方式处理对象集合和单个对象,对象对客户透明。

10、状态模式

封装了基于状态的行为,并使用委托在行为之间切换。

11、代理模式

包装封装对象,以控制对此对象的访问。

12、外观模式

简化一群类的接口访问。

13、桥接模式、生成器、责任链、蝇量模式、解释器模式、中介者、备忘录、原型、访问者。

桥接模式:用于把抽象和实现解耦,实现二者独立变化。抽象里面使用接口对象,抽象子类和接口对象独立变化。

生成器:封装一个产品的构造过程。

责任链:为请求对象创造一个接收对象链,接收链的每个对象依次处理请求,直到请求被处理。

蝇量模式:享元模式,用于减少创建对象的数量,以减少内存占用和提高性能。享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。

解释器模式:提供了评估语言的语法或表达式的方式,这种模式被用在 SQL 解析、符号处理引擎等。

中介者:用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。

备忘录:保存一个对象的某个状态,以便在适当的时候恢复对象。

原型:是用于创建重复的对象,同时又能保证性能。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。

访问者:使用了一个访问者类,它改变了元素类的执行算法,通过这种方式,元素的执行算法可以随着访问者改变而改变。

 

比雷
粉丝 0
博文 10
码字总数 6579
作品 0
成都
程序员
私信 提问
加载中
请先登录后再评论。
设计模式——命令模式(遥控器与灯)

本文首发于cdream的个人博客,点击获得更好的阅读体验! 欢迎转载,转载请注明出处。 本文主要对命令模式进行概述讲解,并使用使用遥控器与灯来讲述命令模式中调用者与接收者的关系。 <!--mo...

osc_218tfwfw
2018/12/13
4
0
设计模式--刘伟(转)

原文:https://blog.csdn.net/lovelion/article/details/17517213 2012年-2013年,Sunny在CSDN技术博客中陆续发表了100多篇与设计模式学习相关的文章,涵盖了七个面向对象设计原则和24个设计...

osc_k5ta3dng
2018/05/16
5
0
设计模式学习目录,仿佛看见了一道光给作者点赞666

史上最全设计模式导学目录(完整版) 原创 2013年12月24日 23:15:16 标签: 软件工程 / 设计模式 / 博客 / 软件开发 190146 圣诞献礼! 2012年-2013年,Sunny在CSDN技术博客中陆续发表了100...

osc_iiheq33y
2018/01/16
25
0
《Head First 设计模式》 - 工厂方法模式

一、官方话语 概述 六大原则 二、个人解读 概述 设计模式在代码层级中,是让你在某种业务场景刚开始设计时,能让未来的相关需求扩展极为方便的一个思想。 简单的说,在一开始设计好,扩展是很...

小山猪的沙塔
2018/08/01
0
0
设计模式概述

前言 大约在一年前学习过一段时间的设计模式,但是当时自己的学习方式比较低效,也没有深刻的去理解、运用所学的知识. 所以现在准备系统的再重新学习一遍,写一个关于设计模式的系列博客. 废话不...

osc_3xmkn220
2019/07/11
6
0

没有更多内容

加载失败,请刷新页面

加载更多

社区知识索引站正式上线

社区知识索引站正式上线 https://rustcc.com/ 还在持续不断地整理和优化内容中。大家有好的建议,可以直接在下面提。有好的内容推荐,也直接跟在下面。我准备把论坛从建坛以来的内容都全面过...

MikeTang
05/24
0
0
全栈Deepfake软件来了!支持换脸换头对口型,GitHub 1.4万星

郭一璞 发自 凹非寺 量子位 报道 | 公众号 QbitAI 更高清、更全面、更强大。 这是船新“全栈”Deepfake软件,DeepFaceLab,已有超过14000颗星,还登上了GitHub热榜。 它以一个软件的形式,把...

zb1486966459725
06/05
0
0
数据结构与算法 -3 :复原IP地址

全文字数:1460字 全文阅读时间:4分钟 【Leetcode】题目描述 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 示例 : 输入: “25525511135” 输出: [“255.255.11.135”...

石璞东
05/12
0
0
【通知】有三个人指导以及VIP星球6月份之后升级,你的专属AI顾问了解一下

文/编辑 | 言有三 因为有三个人的微信(Longlongtogo)是公开在网络平台上的,导致每天来问技术问题的人很多,但是,时间是有限而宝贵的,如果每一个人我都一视同仁热心回答,便无法做事了,何...

言有三
05/13
0
0
如何判断自己面试是不是凉了?

很多人面试结束之后,经常会有这样的体验:自我感觉良好,一天通知你还是挂了,送一首凉凉给自己。 事实上,面试结果在你面试结束的那一刻就有答案。而面试官在面试过程中的一系列言语、表情...

osc_19sil6fy
1分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部