java20K之路:组合模式原来是这样子的,这不就是一直接触的么!

设计模式是提升编程能力的关键,本文通过解析组合模式的实际应用,如XML解析、资源管理器、杀毒软件及JUnit框架,阐述了如何在不同场景下利用这种模式实现代码简化、扩展性和解耦。通过模拟杀毒文件的过程,详细解释了组合模式的抽象、叶子节点和容器角色的实现,以帮助读者深入理解这一模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GOF的23中设计模式就像是习武之人的内功心法,只把心法背的熟练,而不理解其的妙处,想必武功只能有轻微的提高,个人觉得学习设计模式,主要是学习的是每种设计模式是如何使用java面向对象的,如何来完成代码的简化、易扩展、解耦的;要学习的是在什么场景下用什么样的招数来破解难题。

其中,组合模式,想必工作中直接写的不多,但是有很多的场景都是已经应用到的,比如,XML文件解析、操作系统的资源管理器、杀毒软件的杀毒、JUnit单元测试框架等。以Junit为例,包含了TestCase(叶子节点),TestUnite(容器),Test接口(抽象)三部分组成,也事组合模式的三种角色,下面以模拟杀毒文件的方式,来讲述代码实现

第一 ,抽象:杀毒文件的公共功能

package top.xq.pattern.composite;

/**
 * .
 * 病毒查杀的共同有的功能
 * 此接口是查看功能的统一File查杀组件的定义
 *
 */
public interface KillFileI {

    /**
     * 杀毒
     */
    void killVirus();
}

第二,系统中的各种类型的文件杀毒方式:

package top.xq.pattern.composite;

/**
 * 类名称 KillFileImage
 * 说明 组合模式中的叶子节点
 * 图片杀毒
 * 作者 ts0002
 * 日期 2019/10/23 15:13
 */
public class KillFile
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邢庆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值