zoukankan
html css js c++ java
北风设计模式课程---8、装饰器模式
北风设计模式课程---8、装饰器模式
一、总结
一句话总结:
对比学习:比如对比都是减少继承模式下类太多的组合模式和装饰模式,这样可以很好的加深理解和学习
装饰器模式的本质是:通过嵌套(嵌套也是一种组合)来替代继承关系
1、装饰器模式的本质和作用是什么?
通过嵌套(嵌套也是一种组合)来替代继承关系
作用:解决继承关系下类太多的问题
2、装饰器模式和组合模式都是通过组合来替代继承,那么他们的区别是什么?
组合:组合模式是把类组合在一起
嵌套:包装模式不仅是组合,更加强调的是嵌套
3、装饰类的物品和装饰之间是什么关系?
装饰包着物品
4、装饰器模式有哪几种角色,各自的功能是什么?
物品类:比如 礼品
装饰抽象类:接收外部传来的物品实例 比如 包装抽象类
装饰具体类:接收外部传来的物品实例 比如 第一层包装,第二次包装
5、装饰器模式中用来装饰的那些东西是什么?
函数:把和实例的函数组合在一起就可以也输出装饰的内容了
6、装饰器模式多层包装如何实现(或者说实现的注意要点)?
依次拆开每一层包装,里面都是一个完整的东西
嵌套:不同包装之间是包含(嵌套)关系
7、装饰器模式实现的核心步骤是什么?
装饰:装饰分为装饰抽象类和装饰具体类
包含关系:装饰 带 被装饰物品的实例的:外部传入这个物品,装饰器类里面有个方法接收这个物品
8、不同的交通工具有不同的功能,比如车能跑,飞机能飞,船能游,有的车能跑能游,有的飞机能飞能跑,怎么设计需求(假如又有别的交通工具能跳的需求)?
通过装饰器模式
二、内容在总结中
查看全文
相关阅读:
20210718力扣第249场周赛(五)
统计学习方法第三章 k近邻法
统计学习方法第二章
启发式搜索
洛谷P2015 二叉苹果树
Codeforces Round #736 (Div. 2). D
牛客多校第五场 K King of Range
RMQ/ST表
AcWing100 IncDec Sequence
AcWing 368. 银河
原文地址:https://www.cnblogs.com/Renyi-Fan/p/11017860.html
最新文章
SourceTree拉取代码和自己本地代码冲突解决方案,git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin解决
MySQL索引原理以及查询优化
MySQL索引原理及慢查询优化
MySQL-联合索引
先查主键再join
mysql聚合统计数据查询缓慢的优化方法
SQL语句调优对比——大大增快查询速度
SQL中EXISTS的用法
牛客练习赛79 总结
【Java】JNDI实现
热门文章
【Scala】09 偏函数 PartialFunction
【Scala】08 模式匹配 Match Case
【Scala】07 集合
【Android】虚拟设备运行BUG
【Android】构建Android12项目报错
【Scala】05 对象特性Part2
【Scala】04 对象特性Part1
【Scala】03 函数
第五节课
第四节课
Copyright © 2011-2022 走看看