A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 梦缠绕的时候 黑马粉丝团   /  2018-9-25 09:35  /  912 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

装饰模式1、他所应对的问题装饰模式主要是应对,按现有业务返回的结果,无法满足新的业务的需要了。而新的业务只是在原有结果上进行了变动。真的这种情况 如果不适用设计模式 那么只能从新写业务实现。 如果使用了设计模式 只需要进行包装。其他所有的都不要改变。2、模式分析1、被装饰的对象A,一个装饰对象B。2、要看起来一样,就是说我们在调用的时候,声明一个抽象类,全程进行装饰,最终还是这个声明。123、具体设计1、怎样让 两个对象看起来一样。我们想马上会想到抽象封装。我们也知道在实际操作中我们面对的肯定是被装饰者,所以肯定都要继承A接口。2、B是用接口还是抽象类。要看你是想让每一个子类持有B还是想统一处理了。3、如果B不继承/实现A 。如果是这样设计,那你每次要装饰一个对象的时候都要声明一个装好对象,然后把值赋给A,而新声明的对其实没有其他的作用。所以何必多次一举那。你会看到许多的设计模式,其实都是采用了同事类的方式来处理这种统一外观的方式。比如 组合模式,责任了模式,代理模式,解释器模式等。这里有一个典型的问题解决方案(有许多类功能不一样,那么怎样实现统一的管理和调用)1、实现同一个接口。2、在具体实现类,要有一种类型的实现类C 要聚合父接口。3、C要进行管理聚合对象(聚合的目的就是为了管理-增删改查)---组合模式,责任了模式,代理模式,解释器模式等都是这样的具体设计。1234567891011我们不是在学习,只是在分析设计!

1 个回复

倒序浏览
奈斯
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马