![](https://img-blog.csdnimg.cn/direct/4ca1941118b844afb3ae9e74c934199f.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
设计模式
文章平均质量分 93
设计模式详解
犬余
我欲贱而贵,愚而智,贫而富,可乎?曰:其唯学乎。彼学者,行之,曰士也;敦慕焉,君子也;知之,圣人也。上为圣人,下为士、君子,孰禁我哉!
展开
-
设计模式之组合模式:探索对象组合的动态管理与操作技巧
组合模式(Composite Pattern)是一种结构型模式(Structural Pattern),它主要解决的是如何将对象组合成树状以表示“部分-整体”的层次结构,并且可以对整个树进行统一的操作,如遍历、添加、删除等。原创 2024-05-11 23:20:03 · 1166 阅读 · 5 评论 -
设计模式之建造者模式:灵活可扩展的对象创建过程
建造者模式是一种非常有用的设计模式,它可以帮助我们更好地组织复杂对象的构建过程,提高代码的可读性和可维护性。通过将构建过程与表示分离,建造者模式使得对象的创建变得更加灵活和可控。原创 2024-04-06 16:41:27 · 1345 阅读 · 6 评论 -
设计模式之解释器模式的魅力:让代码读懂你的语言
解释器模式(Interpreter pattern)是一种行为型(Behavioral Pattern)的设计模式,用于定义语言的语法规则表示,并提供解释器来处理句子中的语法。该模式将句子表示为一个抽象语法树,每个节点代表一个语法规则,通过递归地解释这些节点来实现对句子的解释。原创 2024-03-30 22:47:57 · 1634 阅读 · 5 评论 -
设计模式之单例模式:保证唯一性的设计之道
单例模式(Singleton Pattern)是一种对象创建型模式(Creational Pattern),它的目的是保证一个类只有一个实例,并提供一个全局访问点。在单例模式中,类自身负责保存它的唯一实例,并且该实例可以通过静态方法获取。原创 2024-03-03 23:54:52 · 1293 阅读 · 0 评论 -
设计模式|策略模式
按照需求来讲,我们确实实现了需要的功能,但是随着需求的迭代,排序算法的总类必然会越来越多,这也就导致了这个sort方法中的ifelse语句越来越长,越来越不易维护;这样做的好处是可以避免多重条件选择语句,使得代码更加清晰,提高代码的可维护性,并且可以更容易地扩展新的算法。,他们各自实现了自己的排序算法,在后续的维护中,只需要按需增加新的实现策略即可,而不再需要像之前一样修改公共的ifelse区域代码了;:每个具体策略都需要一个单独的类,这可能会导致类的数量增加,特别是在策略较多的情况下。原创 2024-02-18 15:11:42 · 870 阅读 · 1 评论 -
设计模式|责任链模式
当然,现实中的软件开发流程并不会如此简单,这里只是以此为例,阐述一下责任链模式的流程,这个例子中,软件团队扮演着客户端的角色,将需求分析到软件上线的所有步骤串成了一个链路,链路中每个环节各自承担一部分责任,这样使得甲方和各个团队之间不再耦合在一起,甲方只需要向客户端提出请求,由客户端维护一条责任链,并激活开始节点,一旦任务开始执行,各个节点只需各司其事,接受任务,履行责任,并按逻辑激活后续节点即可。再此也小推一下本人的公众号,记录一下学习过程,立个flag:坚持学习,每周一更,欢迎监督~原创 2024-02-07 20:48:55 · 584 阅读 · 1 评论 -
设计模式|观察者模式
观察者模式(Observer Pattern)是一种行为型(Behavioral Pattern)设计模式,它定义了对象之间的一种一对多的依赖关系,使得当一个对象改变状态时,所有依赖于它的对象都会得到通知并自动更新。这种模式通常用于实现分布式事件处理系统、消息发布/订阅(pub-sub)机制等。在观察者模式中,主要涉及到两个角色:主题(Subject):即“被观察者”,它维护一组观察者,提供用于注册和删除观察者的接口,并且在其内部状态发生变化时负责通知所有注册的观察者。观察者(Observer):原创 2024-02-23 22:16:40 · 813 阅读 · 0 评论