Simplicity is the essence of happiness. - Cedric Bledsoe
这种模式提供了一个接口来创建一系列相关或相互依赖对象而无需指定它们具体的类 Client(客户端) This class uses only interfaces declared by AbstractFactory and AbstractProduct classes. (这个类只使用AbstractFactory和AbstractProduct类声明的接口。) ProductB1(产品B1) This class (a) defines a product object to be created by the corresponding concrete factory, and (b) implements the AbstractProduct interface. (这类(a)定义了一个由相应的具体工厂创建的产品对象,和(b)实现了AbstractProduct接口。) ProductB2(产品B2) This class (a) defines a product object to be created b...
发布于 5 years ago
214610
这个模式中,给定一门语言,定义了其语法的表示以及一个解释器,该解释器会使用该表示来解释语言中的句子 NonTeminalExpression(非终端表达式)This class maintains(维护) instance variables of type AbstractExpression for each symbol(符号) in a rule, and implements an Interpret operation for nonterminal(非终结) symbols in the grammar(语法). (这类为在一个规则的每个符号维护AbstractExpression类型的实例变量,实现了一个为语法中的非终结符号的解释操作。) TeminalExpression(终端表达式)This class implements an Interpret operation associated([ə'səuʃi,eitid] 相关的) with terminal symbols in the grammar. (这类实现一个与语法中...
发布于 5 years ago
21808
这种模式避免请求的发送者和接收者之间的耦合,通过给超过一个对象一个机会来处理请求。 它链接所有接收者对象并将请求沿着链到一个对象处理它 部件 ConcreteHandler2:(具体处理器2) This class (a) handles requests it is responsible for, (b) can access its successor, and (c) if it can handle the request, does so, else it forwards it to its successor. 这类(a)处理它负责的请求,(b)可以访问其继任者,(c)如果它可以处理请求,这样做,否则它将其转发给它的继任者。 ConcreteHandler1:(具体处理器1) This class (a) handles requests it is responsible for, (b) can access its successor, and (c) if it can handle t...
发布于 5 years ago
22329
矛盾的这种模式转换一个类的接口到客户期望的另一个接口适配器使原本不兼容的而不能在一起工作的那些类可以在一起工作 Client(客户端) This class collaborates( [kə'læbəreit] 合作) with objects conforming to the Target interface. (这类为目标接口提供对象一致性合作。) Adapter(适配器) This class adapts(适应) the interface of Adaptee(被适配者) to the Target interface. (这类适应被适配者的接口到目标接口。) Adaptee(被适配者) This class defines an existing interface that needs adapting. (这个类定义了一个现有的接口,需要适应。) Target(目标) This class defines the domain-specific interface that Client...
发布于 5 years ago
26700
从而公开表示法这种模式提供了一种方法来访问聚合对象的元素从而无需公开其底层表示法 ConcreteIterator(具体迭代器) This class (a) implements the Iterator interface and (b) keeps track of the current position in the traversal(遍历) of the aggregate(集合). (这类(a)实现了迭代器接口和(b)在遍历的集合中,跟踪当前位置。) Iterator(迭代器) This class defines an interface for accessing and traversing(遍历) elements. (这个类定义了一个接口来访问和遍历元素。) ConcreteAggregate(具体的集合) This class implements the Iterator creation interface to return an instance of the proper Concrete...
发布于 5 years ago
27723
代表这种模式表示一个作用于某对象结构中的各元素的操作它允许您在其运作时不改变各元素的类情况下定义一个新的操作 ConcreteVisitor2(具体访问者2) This class implements each operation declared by Visitor. Each operation implements a fragment(碎片) of the algorithm defined for the corresponding class of object in the structure. ConcreteVisitor provides the context for the algorithm and stores its local state. This state often(['ɔfən, 'ɔftən, 'ɔ:-] 时常)accumulates (累积)results during(在…的时候) the traversal(遍历) of the structure. (这个类实现了访客所宣布的每个操作。每个操作实现了在...
发布于 5 years ago
27970
出现这种模式允许一个对象当其内部状态改变时来改变其行为对象看起来似乎修改了它所属的类 ConcreteStateB(具体状态B) This subclass implements a behaviour associated with a state of the Context. (这个子类实现了一个上下文状态相关的行为。) ConcreteStateA(具体状态A) This subclass implements a behaviour associated with a state of the Context. (这个子类实现了一个上下文状态相关的行为。) State(状态) This class defines an interface for encapsulating the behaviour associated with a particular([pə'tikjulə] 特定的) state of the Context. (这个类定义了一个接口用于封装一个上下文的特定状态相关联的行为。)...
发布于 5 years ago
26833
框架推迟某个该模式在一个操作中定义了算法的框架将某些步骤推迟到子类中它允许子类在不改变一个算法的结构的情况下重新定义某些步骤 ConcreteClass(具体类) This class implements the primitive(原始的,简单的) operations to carry out subclass-specific steps of the algorithm. (这个类给执行算法中子类特有的的步骤实现了简单的操作。) AbstractClass(抽像类) This class (a) defines abstract primitive operations that concrete subclasses define to implement steps of an algorithm, and (b) implements a template method defining the skeleton of an algorithm. (这类(a)定义了子类中具体的简单操作的抽象给算法的实施步骤,和(b)实现了...
发布于 5 years ago
27498