zoukankan
html css js c++ java
北风设计模式课程---8、装饰器模式
北风设计模式课程---8、装饰器模式
一、总结
一句话总结:
对比学习:比如对比都是减少继承模式下类太多的组合模式和装饰模式,这样可以很好的加深理解和学习
装饰器模式的本质是:通过嵌套(嵌套也是一种组合)来替代继承关系
1、装饰器模式的本质和作用是什么?
通过嵌套(嵌套也是一种组合)来替代继承关系
作用:解决继承关系下类太多的问题
2、装饰器模式和组合模式都是通过组合来替代继承,那么他们的区别是什么?
组合:组合模式是把类组合在一起
嵌套:包装模式不仅是组合,更加强调的是嵌套
3、装饰类的物品和装饰之间是什么关系?
装饰包着物品
4、装饰器模式有哪几种角色,各自的功能是什么?
物品类:比如 礼品
装饰抽象类:接收外部传来的物品实例 比如 包装抽象类
装饰具体类:接收外部传来的物品实例 比如 第一层包装,第二次包装
5、装饰器模式中用来装饰的那些东西是什么?
函数:把和实例的函数组合在一起就可以也输出装饰的内容了
6、装饰器模式多层包装如何实现(或者说实现的注意要点)?
依次拆开每一层包装,里面都是一个完整的东西
嵌套:不同包装之间是包含(嵌套)关系
7、装饰器模式实现的核心步骤是什么?
装饰:装饰分为装饰抽象类和装饰具体类
包含关系:装饰 带 被装饰物品的实例的:外部传入这个物品,装饰器类里面有个方法接收这个物品
8、不同的交通工具有不同的功能,比如车能跑,飞机能飞,船能游,有的车能跑能游,有的飞机能飞能跑,怎么设计需求(假如又有别的交通工具能跳的需求)?
通过装饰器模式
二、内容在总结中
查看全文
相关阅读:
SpringBoot是如何动起来的
Windows 10 安装 Docker for Windows
Spring Boot2.0 设置拦截器
修改博客园的css样式
Spring-Aop
Java自学-泛型 集合中的泛型
Java自学-集合框架 聚合操作
Java自学-集合框架 Comparator和Comparable
Java自学-集合框架 hashCode原理
Java自学-集合框架 HashSet、LinkedHashSet、TreeSet之间的区别
原文地址:https://www.cnblogs.com/Renyi-Fan/p/11017860.html
最新文章
L1-021 重要的话说三遍 (5分)
L1-020 帅到没朋友 (20分)
L1-019 谁先倒 (15分)
如何在CentOS 7 / Fedora 31/30/29上安装ELK Stack
Kibana将语言设置为中文
常见面试题--爬楼梯 斐波那契数列的应用
常见面试题--找出两两重复数组中唯一不重复的数字
常见面试题--判定单链表是否成环以及环的长度
no persistent classes found for query class: from xxxx解决办法
springAOP使用注解开发时,出现can't find referenced pointcut xxx错误
热门文章
删除第K个元素 泛型一般队列 基于数组和链表的实现
Josephus问题--N个人通过循环报数决定存活者--基于数组的实现
随机队列
随机背包---存储一组元素并进行随机访问
Deque--双向队列,支持同时在两端添加或删除元素--基于双向链表或动态数组的实现
MyBatis-plus二级缓存使用
个人完善的springboot拦截器
SpringBoot完美配置阿里云的文件上传
Spring 完美配置跨域请求
LocalDateTime反序列化,LocalDateTime格式化
Copyright © 2011-2022 走看看