
设计模式
pao___pao
没个性,不签名
展开
-
策略模式
策略模式属于行为型模式,可以将算法和调用者独立开。 意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。 主要解决:在有多种算法相似的情况下,使用 if...else 所带来的复杂和难以维护。 何时使用:一个系统有许多许多类,而区分它们的只是他们直接的行为。 interface Strategy{ int operate(int a,int b); } cla...原创 2019-09-10 23:56:29 · 164 阅读 · 0 评论 -
装饰器模式
装饰器模式属于结构型模式,允许向一个现有的类添加新功能,同时又不改变其结构,只是作为现有的类的一个包装。 意图:动态给一个类添加额外功能。就增加功能来说,装饰器模式相比生成子类更为灵活。 主要解决:一般扩展一个类经常使用继承方式实现,随着扩展功能的增多,子类会很膨胀。 何时使用:不想增加子类的情况下扩展类,可代替继承。Java输入输出流是典型的装饰器模式 interface Action...原创 2019-09-11 00:17:27 · 185 阅读 · 0 评论 -
代理模式
代理模式属于结构型模式,和装饰器模式很像,都可以为对象进行功能扩展,对装饰器模式来说,装饰者和被装饰者都实现同一个接口,对代理模式来说,代理类和被代理类都实现同一个接口。但两者侧重点不同,装饰器模式关注于在一个对象上动态的添加方法,而代理模式关注于控制对对象的访问。用代理模式,代理类(proxy class)可以对它的客户隐藏一个对象的具体信息。因此,当使用代理模式的时候,我们常常在一个代理类中创...原创 2019-09-11 01:42:09 · 154 阅读 · 0 评论