
设计模式
恰克与飞鸟.
业精于勤,行成于思
展开
-
设计模式-命令模式-示例买卖股票
命令模式命令模式:数据驱动的设计模式,行为型模式核心理解:将请求封装成一个对象,传给调用者,调用者基于请求的类型确定哪个对象执行哪个命令。主要解决:将行为请求者和行为实现者解耦参考网址:https://www.runoob.com/design-pattern/command-pattern.html 讲的不好,不够清晰一般来说,命令模式首先需要一个只有单一方法的接口,然后从该接...原创 2019-12-04 19:50:28 · 321 阅读 · 0 评论 -
设计模式-代理模式-图片加载示例,以及动态代理补充
代理模式代理模型-结构型模式目标:为其他对象提供一种代理,以控制对这个对象的访问。说白了就是一个类代表另一个类的功能。关键代码:增加中间层,实现代理类和委托类组合(需要二者继承同一个接口)注意事项:1、和适配器模式的区别:适配器模式主要改变所考虑对象的接口,而代理模式不能改变所代理类的接口。2、和装饰器模式的区别:装饰器模式为了增强功能,而代理模式是为了加以控制。参考网址:菜鸟教程...原创 2019-11-30 16:10:24 · 391 阅读 · 0 评论 -
设计模式-责任链模式-日志分级打印示例
责任链模式责任链模式-行为型模式意图:避免请求发送者和接受者耦合在一起,让多个对象都有可能接受请求,将这些对象连接成一条链,并且沿着这条链传递请求,知道有对象处理它为止。关键代码:拦截的类都实现统一接口,Handler 里面聚合它自己,在 HandlerRequest 里判断是否合适,如果没达到条件则向下传递,向谁传递之前 set 进去。应用实例:三国杀中有人使用锦囊时,系统提示其他用户...原创 2019-11-30 13:07:40 · 553 阅读 · 0 评论 -
设计模式-策略模式-运算示例
策略模式策略模式-行为型模式。在策略模式中,实例代码创建表示各种策略的对象和一个行为随着策略对象改变而改变的context对象。策略对象改变context对象的执行算法。目的和手段:将相似的算法封装成类,使他们可以任意的替换,来解决使用if…else多重条件选择语句所带来的复杂和难以维护。关键代码:所有封装成类的算法,实现同一个接口。注意事项:如果一个系统的策略多于四个,就需要考虑使用...原创 2019-11-30 12:12:24 · 190 阅读 · 0 评论 -
设计模式-装饰器模式-形状颜色变换示例
装饰器模式装饰器模式-结构型模式,是继承的一个替代模式意图:动态地给一个对象添加一些额外的职责,同时又不改变其结构,作为现在类的一个包装。就增加功能来说装饰器模式相比子类继承更为灵活使用场景:不想增加很多子类的情况下扩展类.PS:装饰类和被装饰类可以独立发展,不会相互耦合关键代码:Decorator类充当抽象角色,不应该具体实现;修饰类引用和继承Decorator类,具体扩展类重写父类方...原创 2019-11-30 11:00:51 · 261 阅读 · 1 评论 -
设计模式--适配器模式-多媒体播放器示例
适配器模式适配器模式 - 结构型模式关键代码:适配器继承或依赖已有的对象,实现想要的目标的接口意图:将一个类的接口转换成客户端希望的另一个接口。适配器模式使得原本由接口不兼容而不能一起工作的那些类可以一起工作注意事项:适配器不是在详细设计时添加的,而是解决正在服役的项目的问题参考网址 :https://www.runoob.com/design-pattern/adapter-patt...原创 2019-11-30 10:00:34 · 1149 阅读 · 0 评论