zoukankan
html css js c++ java
北风设计模式课程---8、装饰器模式
北风设计模式课程---8、装饰器模式
一、总结
一句话总结:
对比学习:比如对比都是减少继承模式下类太多的组合模式和装饰模式,这样可以很好的加深理解和学习
装饰器模式的本质是:通过嵌套(嵌套也是一种组合)来替代继承关系
1、装饰器模式的本质和作用是什么?
通过嵌套(嵌套也是一种组合)来替代继承关系
作用:解决继承关系下类太多的问题
2、装饰器模式和组合模式都是通过组合来替代继承,那么他们的区别是什么?
组合:组合模式是把类组合在一起
嵌套:包装模式不仅是组合,更加强调的是嵌套
3、装饰类的物品和装饰之间是什么关系?
装饰包着物品
4、装饰器模式有哪几种角色,各自的功能是什么?
物品类:比如 礼品
装饰抽象类:接收外部传来的物品实例 比如 包装抽象类
装饰具体类:接收外部传来的物品实例 比如 第一层包装,第二次包装
5、装饰器模式中用来装饰的那些东西是什么?
函数:把和实例的函数组合在一起就可以也输出装饰的内容了
6、装饰器模式多层包装如何实现(或者说实现的注意要点)?
依次拆开每一层包装,里面都是一个完整的东西
嵌套:不同包装之间是包含(嵌套)关系
7、装饰器模式实现的核心步骤是什么?
装饰:装饰分为装饰抽象类和装饰具体类
包含关系:装饰 带 被装饰物品的实例的:外部传入这个物品,装饰器类里面有个方法接收这个物品
8、不同的交通工具有不同的功能,比如车能跑,飞机能飞,船能游,有的车能跑能游,有的飞机能飞能跑,怎么设计需求(假如又有别的交通工具能跳的需求)?
通过装饰器模式
二、内容在总结中
查看全文
相关阅读:
06-局部变量和全局变量
05-python中函数的使用
04-字典的常见操作
04-python第四天学习
Openstack认证过程
03-字典的增删改查
01-名字管理系统.py
02-python中列表的增删改查
01-python中字符串的常见操作
ubuntu16.04卸载软件
原文地址:https://www.cnblogs.com/Renyi-Fan/p/11017860.html
最新文章
【终端使用】"tar"命令、"bzip2"命令结合实现文件 打包压缩
【终端使用】"tar"命令、"gzip"命令结合实现文件 打包压缩
【终端使用】"tar"命令 打包/解包
【终端使用】"ln"命令创建 文件软连接、硬链接
【终端使用】文件搜索 "find"命令 的使用
【终端使用】Linux中的 通配符
【终端使用】"ps"、"top"命令查看进程信息 和 "kill"命令杀死进程
【终端使用】"df"命令、"du"命令 查看磁盘信息
【终端使用】"date"时间命令和"cal"日期命令
【终端使用】针对文件|目录的命令: "chmod"、"chown"、"chgrp"
热门文章
Java读取图片并修改像素,创建图片
geotools解析SLD中的elsefilter为什么里面的filter无效
DB2 的create or update方法
实现WMSservice的时候,出现边缘的点或icon被切断的情况
ObjectStore onFetch方法获取记录总数
移动应用打包工具
大漠推荐的教程:创建你自己的AngularJS -- 第一部分 Scopes
【转】CSS实现div的高度填满剩余空间
JDK各个版本下载页面
OpenLayers3 online build
Copyright © 2011-2022 走看看