zoukankan
html css js c++ java
北风设计模式课程---8、装饰器模式
北风设计模式课程---8、装饰器模式
一、总结
一句话总结:
对比学习:比如对比都是减少继承模式下类太多的组合模式和装饰模式,这样可以很好的加深理解和学习
装饰器模式的本质是:通过嵌套(嵌套也是一种组合)来替代继承关系
1、装饰器模式的本质和作用是什么?
通过嵌套(嵌套也是一种组合)来替代继承关系
作用:解决继承关系下类太多的问题
2、装饰器模式和组合模式都是通过组合来替代继承,那么他们的区别是什么?
组合:组合模式是把类组合在一起
嵌套:包装模式不仅是组合,更加强调的是嵌套
3、装饰类的物品和装饰之间是什么关系?
装饰包着物品
4、装饰器模式有哪几种角色,各自的功能是什么?
物品类:比如 礼品
装饰抽象类:接收外部传来的物品实例 比如 包装抽象类
装饰具体类:接收外部传来的物品实例 比如 第一层包装,第二次包装
5、装饰器模式中用来装饰的那些东西是什么?
函数:把和实例的函数组合在一起就可以也输出装饰的内容了
6、装饰器模式多层包装如何实现(或者说实现的注意要点)?
依次拆开每一层包装,里面都是一个完整的东西
嵌套:不同包装之间是包含(嵌套)关系
7、装饰器模式实现的核心步骤是什么?
装饰:装饰分为装饰抽象类和装饰具体类
包含关系:装饰 带 被装饰物品的实例的:外部传入这个物品,装饰器类里面有个方法接收这个物品
8、不同的交通工具有不同的功能,比如车能跑,飞机能飞,船能游,有的车能跑能游,有的飞机能飞能跑,怎么设计需求(假如又有别的交通工具能跳的需求)?
通过装饰器模式
二、内容在总结中
查看全文
相关阅读:
POJ-1947 Rebuilding Roads (树形DP+分组背包)
HDU-1011 Starship Troopers (树形DP+分组背包)
POJ-1155 TELE (树形DP+分组背包)
HDU-1520 Anniversary party(树形DP)
HDU-2196 Computer (树形DP)
HDU-1561 The more, The Better (树形DP+分组背包)
HDU-3853 LOOPS(概率DP求期望)
POJ 1182(权值并查集,向量?)
HDU 3038(权值并查集)
POJ 1733(边带权并查集+离散化)
原文地址:https://www.cnblogs.com/Renyi-Fan/p/11017860.html
最新文章
Docker存储与网络
Docker容器管理
Docker介绍与安装、镜像管理
Nginx安装及配置
Ansible 角色roles (整合多个剧本)
redis安装使用
Celery基本使用--->django-celery实现异步HTTP请求
openstack No valid host was found. There are not enough hosts available.
openstack 存储节点按照报错Device /dev/sdb not found (or ignored by filtering).
sourceTree配置bitbucket
热门文章
我的闲暇时间给了我重重一击
Invalid bound statement (not found): com.ros.dao.LogMapper.insert
Ambiguous mapping. Cannot map 'registerController' method
navicate连接mysql
red5 重新分配 ip
navicate与mysql连接的中文乱码问题
不是你没有朋友,而是你不愿随波逐流
HDU-4276 The Ghost Blows Light (树形DP+背包)
POJ-2486 Apple Tree (树形DP)
HDU-4003 Find Metal Mineral (树形DP+分组背包)
Copyright © 2011-2022 走看看