摘要: 迭代器提供了一种统一的方式来访问集合对象中的元素,而不是暴露集合内部的表示方式。简单地说,就是将遍历集合的责任封装到一个单独的对象中,我们可以按照特定的方式访问集合中的元素。 迭代器模式有两个角色,一个是迭代器,一个是聚合器,Java或则c#中的Collection,List,Set,Map就是聚合 阅读全文
posted @ 2023-12-15 17:57 求简君 阅读(22) 评论(0) 推荐(0)
摘要: 我们可以看到设计模式大多数是把简单的问题给搞复杂了,但是这种复杂恰恰是为了以后设计和扩展的简单。正如没有规划的盖一座房子,很快就盖成了一座房子,可是因为没有考虑到房子的方位、地基、以后的扩展、居住的舒适,改出来的房子最后不能进行扩展并且不符合力学的美感和力感,最终只能重新拆掉重建,所以学习设计模式的 阅读全文
posted @ 2023-12-15 17:37 求简君 阅读(23) 评论(0) 推荐(0)
摘要: 命令模式,请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。 命令模式有三个角色,一个命令,二是命令接收者,三是命令调用者。 像http请求,数据库sql命令都是常见的命令模式。 命令模式的意图是将一个请求封装成一个对象, 阅读全文
posted @ 2023-12-15 17:26 求简君 阅读(25) 评论(0) 推荐(0)
摘要: 模板方法模式是指定义一个操作中算法的骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下即可重定义该算法的某些特定步骤。 模板方法主要有两个角色,一个抽象类模板,定义好骨架,第二是实现的子类,实现抽象类模板的抽象方法,和根据需要重写一些方法,其实这也是我们常用的继承,在这里最好 阅读全文
posted @ 2023-12-15 17:00 求简君 阅读(45) 评论(0) 推荐(0)
摘要: 策略模式有两个主要角色,一个是主类,一个是策略类,通过主类的构造函数将策略类注入到主类,从而实现调用不同的策略。 典型的例子就是收银策略,正常收费,八折、五折,满200减50等等。 示例代码 package designMode.strategy; public class CashContext 阅读全文
posted @ 2023-12-15 16:40 求简君 阅读(35) 评论(0) 推荐(0)
摘要: 享元模式,关键在一个享字上。为什么要进行共享,主要有两种原因,一种是有些对象创建时消耗资源比较大,当频次很高时,系统的性能受到显著影响,第二种是创建对象太多,内存占用过大,且这些对象并不是一直都在用。 典型的应用场景是数据库连接池。该模式主要涉及两个角色,一个是享元角色(Flyweight),一个是 阅读全文
posted @ 2023-12-14 17:20 求简君 阅读(25) 评论(0) 推荐(0)
摘要: 外观模式,就有有一个外观类(Facade),其方法里是对多个子系统(或者其他类的对象)的操作的汇总包装,结果是外部不知道Facade具体做了哪些操作,形成比较好的隔离。 外观模式契合的是迪米特法则原子,即最少知道原则。 主要角色就是一个外观类。 示例代码: package designMode.fa 阅读全文
posted @ 2023-12-14 16:34 求简君 阅读(18) 评论(0) 推荐(0)
摘要: 组合模式是树形结构的管理,例如组织结构,文件系统等。 组合模式有三个角色,一个是抽象构件,一个是容器构件,一个是叶子构件,容器构件和叶子构件的区别就是容器构件可以添加删除子容器或者叶子,叶子构件没有此功能。 组合模式分为透明组合模式和安全组合模式,其区别是透明模式会把增加或者删除子节点的方法抽象到抽 阅读全文
posted @ 2023-12-14 16:07 求简君 阅读(42) 评论(0) 推荐(0)
摘要: 适配器模式分为类适配器和对象适配器。 适配器有三个角色,一个是目标(Target),一个是被适配者,一个是适配者。手机充电器就是一个典型的适配器模式,手机需要5V电压,这是目标,被适配者是220v电压,充电器是适配者,将220v电压降为5v电压。 类适配器和对象适配器的区别是,类适配器是适配者继承目 阅读全文
posted @ 2023-12-14 14:49 求简君 阅读(30) 评论(0) 推荐(0)
摘要: 桥接模式是设计模式中最复杂的模式之一,它把事物对象和其具体行为、具体特征分离开来,使它们可以各自独立的变化。 桥接模式有两个角色,一个是主类,一个是被桥接者,主类构造函数里传入被桥接者,这样主类可以调用被桥接者,而被桥接者可以承载各种变化,从而分离开来,各自独立变化。 桥接模式如果是两个维度变化的话 阅读全文
posted @ 2023-12-14 11:14 求简君 阅读(38) 评论(0) 推荐(0)