Simplicity is the essence of happiness. - Cedric Bledsoe
分离这个模式将从其实现中分离出一个抽象以便这两个可以单独改变 ConcreteImplementorB(具体实现B) This class implements the Implementor interface and defines its concrete implementation. (这个类实现实现者的接口和定义其具体实现。) ConcreteImplementorA(具体实现A) This class implements the Implementor interface and defines its concrete implementation. (这个类实现实现者的接口和定义其具体实现。) RefinedAbstraction(精确抽像接口) This class extends the interface defined by Abstraction. (这个类扩展由抽象定义的接口。) Implementor(实现) This class defines the interface...
发布于 5 years ago
26398
分离复杂的表示法这种模式将一个复杂对象的构建从其表示法中分离出来使得同样的构建过程可以创建不同的表示 Product(产品) This class (a) represents(代表) the complex object under construction. ConcreteBuilder builds the product's internal representation and defines the process by which it's assembled, and (b) includes classes that define the constituent(构成的) parts, including interfaces for assembling the parts into the final result. (这类(a)代表了复杂对象正在建设。ConcreteBuilder构建产品的内部表示和定义装配的过程,和(b)包含定义各个组成部分的类,包括为了部件组装成最终的结果的接口。) ConcreteBuilder(...
发布于 5 years ago
25199
决定该模式定义了一个创建对象的接口而让子类决定哪个类来实例化它允许一个类延迟实例化到子类 ConcreteCreator(具体创建者) This class overrides the factory method to return an instance of a ConcreteProduct. (这类覆盖了工厂方法返回一个ConcreteProduct的一个实例。) Creator(创建者) This class (a) declares the factory method, which returns an object of type Product. Creator may also define a default implementation of the factory method that returns a default ConcreteProduct object, and (b) may call the factory method to create a Product object. (这类(a)声...
发布于 5 years ago
27126
统一的这种模式给一个子系统中的一套接口提供了一个统一的接口它定义了一个更高级别的接口使子系统更容易使用 SubsystemClass7 This class (a) implements subsystem functionality, (b) handles work assigned by the Facade object, and (c) keeps no reference to the facade. (这类(a)实现子系统功能,(b)通过外观对象分配处理工作,并(c)。保持没有到外观的引用) SubsystemClass6 This class (a) implements subsystem functionality, (b) handles work assigned by the Facade object, and (c) keeps no reference to the facade. (这类(a)实现子系统功能,(b)通过外观对象分配处理工作,并(c)。保持没有到外观的引用) SubsystemCl...
发布于 5 years ago
25837
违反捕获使具体化恢复这种模式在不破坏封装性的前提下捕获和具体化对象的内部状态以便对象可以恢复最后的状态 Caretaker(看管者) This class is responsible for the memento's safekeeping while never operating on or examining(检查) the contents of a memento. (这个类是负责备忘录的保护,而从来没有操作或检查备忘录的内容。) Memento(备忘录) This class stores internal state of the Originator(起源) object and protects against(反对) access by objects other than the originator. (这类存储发起人对象的内部状态和防止除了发起人之外的对象访问。) Originator(起源) This class creates a memento containing a snapshot(快...
发布于 5 years ago
27873
这种模式使用一个原型的实例指定创建对象的种类并通过复制这个原型创建新对象 Client(客户端) This class creates a new object by asking a prototype to clone itself. (这个类创建一个新的对象通过访问一个原型来克隆自身。) ConcretePrototype2(具体原型2) This class implements an operation for cloning itself. (这个类实现了一个操作,用于克隆本身。) ConcretePrototype1(具体原型1) This class implements an operation for cloning itself. (这个类实现了一个操作,用于克隆本身。) Prototype(原型) This class declares an interface for cloning itself. (这类声明一个接口用于克隆本身。) 代码实现 <?php...
发布于 5 years ago
26518
这种模式确保一个类只有一个实例并提供一个访问它的全局访问点 Singleton This class (a) defines an Instance operation that lets clients access its unique instance, and (b) may be responsible for creating its own unique instance. (这类(a)定义了一个实例操作,允许客户访问其独特的实例,和(b)可能是负责创建自己唯一的实例。) 代码实现 <?php class Singleton { static private $_instance = null; private function __construct() { } static public function getInstance() { if (is_null(self::$_instance)) { self::$_inst...
发布于 5 years ago
27590
提供一个集中的请求处理机制 -. Front Controller -. 前端控制器 -. Dispatcher -. 调度器 -. 调度请求到相应的具体处理程序 -. View -. 视图 -. 为请求而创建的对象 代码实现 <?php
发布于 5 years ago
25820