zoukankan
html css js c++ java
北风设计模式课程---8、装饰器模式
北风设计模式课程---8、装饰器模式
一、总结
一句话总结:
对比学习:比如对比都是减少继承模式下类太多的组合模式和装饰模式,这样可以很好的加深理解和学习
装饰器模式的本质是:通过嵌套(嵌套也是一种组合)来替代继承关系
1、装饰器模式的本质和作用是什么?
通过嵌套(嵌套也是一种组合)来替代继承关系
作用:解决继承关系下类太多的问题
2、装饰器模式和组合模式都是通过组合来替代继承,那么他们的区别是什么?
组合:组合模式是把类组合在一起
嵌套:包装模式不仅是组合,更加强调的是嵌套
3、装饰类的物品和装饰之间是什么关系?
装饰包着物品
4、装饰器模式有哪几种角色,各自的功能是什么?
物品类:比如 礼品
装饰抽象类:接收外部传来的物品实例 比如 包装抽象类
装饰具体类:接收外部传来的物品实例 比如 第一层包装,第二次包装
5、装饰器模式中用来装饰的那些东西是什么?
函数:把和实例的函数组合在一起就可以也输出装饰的内容了
6、装饰器模式多层包装如何实现(或者说实现的注意要点)?
依次拆开每一层包装,里面都是一个完整的东西
嵌套:不同包装之间是包含(嵌套)关系
7、装饰器模式实现的核心步骤是什么?
装饰:装饰分为装饰抽象类和装饰具体类
包含关系:装饰 带 被装饰物品的实例的:外部传入这个物品,装饰器类里面有个方法接收这个物品
8、不同的交通工具有不同的功能,比如车能跑,飞机能飞,船能游,有的车能跑能游,有的飞机能飞能跑,怎么设计需求(假如又有别的交通工具能跳的需求)?
通过装饰器模式
二、内容在总结中
查看全文
相关阅读:
.NET分页存储过程代码及使用
优盘内文件夹大小为几十GB,文件夹内全是乱码而且无法删除的最佳解决办法
[原创]对于“优盘变成了RAW的文件系统,双击提示需要格式化,右键查看属性是0字节,也无法打开”的解决办法
[转载]Ubuntu下vi编辑器方向键变成字母的解决方法
[转载]普通人的编辑利器——Vim
[转载]“不能打开暂存盘文件,因为该文件已锁定”解决办法
[转载]“10倍效率”程序员/开发人员的习惯
关于一道.NET程序员面试题的遐想
“未能从程序集“Microsoft.VisualStudio.DataDesign.SyncDesigner.DslPackage, Version=9.0.0.0, Culture=neutral...”的解决办法
初学正则表达式之不可忽视的空白符
原文地址:https://www.cnblogs.com/Renyi-Fan/p/11017860.html
最新文章
面向对象软件设计原则(四) —— 包的设计原则
软件开发基本原则(二)—— 典型错误
软件开发基本原则(四)—— 风险管理
普通软件项目开发过程规范(二)—— 启动和计划阶段
软件开发基本原则(三)—— 基本原则
普通软件项目开发过程规范(一)—— 项目阶段
普通软件项目开发过程规范(三)—— 执行阶段
软件开发基本原则(一)—— 策略和因素
不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接
无法打开chm文件的解决方法
热门文章
cute ftp8.2 客户端无法连接服务器的解决方法
CuteFTP 8.2上传提示:接收服务器响应时发生超时(60000 毫秒)的解决方法
BarTender操作遇到"OLE DB遇到了错误0x80004005”的问题
Epson LQ300K+打印机不能自定义打印宽度和高度都小于10CM纸张的解决方法
联想G460 XP克隆版本安装方法(Ghost XP 的安装)
ASP.NET MVC部署
[转]清空表的SQL代码
好多天没有写点什么了
jQuery实现左右div自适应高度完全相同
FreeTextBox配置讲解(修复了一些错误)
Copyright © 2011-2022 走看看