
设计模式
文章平均质量分 94
one2excellent
这个作者很懒,什么都没留下…
展开
-
设计模式——行为型模式——责任链模式
责任链模式,又名职责链模式,为了避免请求发送者与多个请求处理者耦合在一起将所有请求处理者通过前一对象记住其下一个对象的引用而成一条链;当有请求发生时,可将请求沿着这条链传递,传递过程中每一个对象都对其进行处理,直到达到限定条件不能处理为止。举例:学校收取某项费用,此时由底层向上层处理链路可能如下所示:由学生到最上级校长之间一级一级传递,每一级都有自己的下级负责人,当达到阈值,如上图中校长没有下级负责人,此时处理终止。也可能是某个班级自发的购买班服,则上图达到班级A就没有下级负责人,责任链终止。原创 2024-06-02 17:02:06 · 415 阅读 · 0 评论 -
设计模式——结构型模式——代理模式(静态代理、动态代理:JDK、CGLIB)
代理模式属于结构型模式。指一个对象本身不做实际的操作,而是通过其他对象来获取自己想要的结果。产生背景:由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。意义:目标对象只需要关注自己的实现细节,通过代理来实现功能的增强,可以扩展目标对象的功能。同时体现了非常重要的变成模式,不能随便修改目标对象的源码,如果需要修改目标对象的源码对已有功能进行增强,此时可以通过修改代理的方式实现功能的扩展。原创 2024-05-12 18:13:58 · 1025 阅读 · 1 评论 -
设计模式——行为型模式——策略模式(含实际业务使用示例、可拷贝直接运行)
策略模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。考虑如下场景:去旅游选择出行方式时,可以骑自行车、坐汽车、坐火车、坐飞机,在不考虑使用策略模式的时候使用if elseif else语句进行判断,此时代码中存在大量条件判断语句,代码不便于增强,不符合开闭原则。公司策略模式使用示例,经典案例剖析原创 2024-05-04 16:58:05 · 841 阅读 · 1 评论