策略和装饰模式讲解

策略模式:它定义了算法家族,分别封装起来,让它们之间可以互相替换,

此模式让算法的变化,不会影响到使用算法的客户。

封装变化是我们面向对象的一种很重要的思维方式。

在我们项目中的体现就是,如果要在不同的时刻应用不同的业务规则,

就可以使用策略模式。

只使用策略模式在客户端需要进行判断,根据传入的参数去传入不同的实例化子类。

如果使用简单工厂和策略模式配合,那么客户端就不用判断,将判断封装到后台,客户端只需要传入条件就好!这样客户端代码就会变得非常简洁。

 

装饰模式是为了已有功能动态地添加更多功能的一种方式。

装饰模式:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更灵活。

我们使用装饰着模式,可以在不修改原有功能的同时,对整个方法进行增强!比如说我们小时候每次考试完,老师都会让我们把卷子拿回家让家长看看并签字。当然啦,学习好的学生不用说也会让家长看的,像咱们这些小渣渣,是打死都不愿意的。但是不签字又不行,于是乎我们肯定在让家长看之前,先汇报一下最高成绩是多少(当然了有考满分的就不要汇报最高成绩了),自己上次考了多少进步了多少(退步的不要汇报),班级排名进步了多少等等,一切有利于自己的情况肯定会说的!如果没有一项是有利于你的,那么请保重!那么这就是我们对成绩的一个装饰!反映到程序中就是我们先执行有利于我们的情况,然后显示成绩!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值