解释器模式(Interpreter Pattern)是一种行为设计模式,它定义了一种语言的文法表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。简单来说,就是为了解释一种特定的语言而设计的模式。
解释器模式的构成
抽象表达式(Abstract Expression):定义解释操作的抽象接口,具体的解释器类将实现该接口。
终结符表达式(Terminal Expression):...
亨元模式(Flyweight Pattern),其运用共享技术有效的支持大量颗粒度的对象。亨元模式可以避免大量非常相似类的开销。
详解在程序设计中,有时需要生成大量细粒度的类实例来表示数据。如果能发现这些实例除了几个参数外基本上都是相同的,那么把那些参数移到类实例的外面,在方法调用时将它们传递进来,就可以通过共享大幅度地减少单个实例的数目。
亨元是什么意思
“亨元” 并非日常常见词汇,在...
中介者模式(Mediator Pattern)是一种行为设计模式,它能减少对象之间混乱无序的依赖关系。该模式会限制对象之间的直接交互,促使它们通过一个中介者对象进行间接沟通。如此一来,对象之间的耦合度得以降低,并且能更轻松地对系统进行修改和扩展。
中介者模式用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互
中...
职责链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它允许将请求沿着处理者链进行发送。收到请求后,每个处理者可以选择处理请求,或者将请求传递给链上的下一个处理者。这种模式将请求的发送者和接收者解耦,使得系统中的多个对象都有机会处理该请求,而不必明确指定请求的接收者。
简单来说:职责链模式将多个对象连成一条链,并沿着这条链传递请求,使得链上的...
命令模式(Command Pattern)是一种行为设计模式,它把请求封装成一个对象,从而允许你用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。
命令模式的构成
命令(Command):定义了执行操作的接口,通常包含一个执行方法execute()。
具体命令(Concrete Command):实现了命令接口,负责调用接收者的相应操作。
接收者(Receiv...
桥接模式(Bridge Pattern)是一种结构型设计模式,它将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合的方式,将一个对象的不同维度的变化分离开来,避免了过多的继承关系导致的类爆炸问题。
“桥接”解析“桥接”即为: 通过一个 “桥梁” 将两个独立的维度连接起来,使其两端能够独立发展变化。这一比喻类似于现实中的桥梁,将两岸(抽象与实现)连接,同时允许两岸各自发展。
...
迭代器模式(Iterator Pattern)是一种行为设计模式,它提供了一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。借助迭代器模式,你能在不了解集合底层实现的情况下遍历集合中的元素。
迭代器模式的构成
抽象迭代器(Iterator):定义了访问和遍历元素的接口,包含诸如next()、hasNext()等方法。
具体迭代器(Concrete Iterator):实...
组合模式(Composite Pattern)是一种结构型设计模式,它允许你将对象组合成树形结构以表示 “部分 - 整体” 的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。
组合模式的构成
抽象组件(Component):它是组合中所有对象的抽象接口,定义了叶子节点和组合节点的公共操作。
叶子组件(Leaf):它是组合中的最小单位,没有子节点,实现了抽象组件的所有操作。...
备忘录模式(Memento Pattern)是一种行为设计模式,它允许在不破坏对象封装性的前提下,捕获并保存一个对象的内部状态,以便后续可以将该对象恢复到之前保存的状态。
备忘录模式的构成
发起人(Originator):创建包含当前内部状态的备忘录对象,也能使用备忘录对象恢复其内部状态。
备忘录(Memento):用于存储发起人的内部状态,且除发起人外,其他对象不能访问该状态。
管理者...
适配器模式(Adapter Pattern)是一种结构型设计模式,其主要作用是让原本因接口不兼容而无法一起工作的类能够协同工作。它就像一个转换器,将一个类的接口转换成客户希望的另一个接口。
适配器模式的构成
目标接口(Target):定义了客户端期望使用的接口,是客户端最终调用的接口。
适配者类(Adaptee):已存在的、需要被适配的类,它有自己的接口和实现,但与目标接口不兼容。
适配...