摘要:
将某个类的接口转换成与另一个接口兼容。适配器通过将原始接口进行转换,给用户提供一个兼容接口,使得原来因为接口不同而无法一起使用的类可以得到兼容。 下面这个例子Book 和EBook这是两个类型,方法都不一样,通过一个EBookAdapter类转换EBook方法成为Book的方法 两个类型的接口 in 阅读全文
摘要:
和抽象工厂类似,静态工厂模式用来创建一系列互相关联或依赖的对象和抽象工厂模式不同的是静态工厂模式只用一个静态方法就解决了所有类型的对象创建 工厂里提供一个静态方法来创建不同的对象实例 final class StaticFactory { public static function factory 阅读全文
摘要:
使应用中只存在一个对象的实例,并且使这个单实例负责所有对该对象的调用 final class Singleton{ private static ?Singleton $instance = null; public static function getInstance(): Singleton 阅读全文
摘要:
简单的创建对象型工厂模式,目的是当有很多的初始化动作的时候,可以直接在工厂里搞,不用每次new都写一遍 工厂生成自行车 class SimpleFactory { public function createBicycle(): Bicycle { return new Bicycle(); } } 阅读全文
摘要:
通过创建一个原型对象,然后复制原型对象来避免通过标准的方式创建大量的对象产生的开销(new Foo())。 大量的数据对象(比如通过ORM获取1,000,000行数据库记录然后创建每一条记录对应的对象实体)带构造方法、属性的类,clone的性能要比new带上构造参数的性能高不少 这个就是原型,子类继 阅读全文
摘要:
最重要的特征是,有两个数组存对象,忙的数组和闲的数组.当使用对象后,不是立即销毁对象,而是放回池子闲的数组里面,下次使用直接拿,拿到后放到忙的数组里.当拿不到的时候就再创建新 class WorkerPool { /** * @var 忙的数组 */ private array $occupiedW 阅读全文
摘要:
简化就是工厂生成产品,工厂和产品都是接口,分别都有对应的具体实现类 工厂方法和抽象工厂的样子非常的像,只有一点小区别,工厂方法处理一个产品族,抽象工厂处理多个产品族,一个处理的产品少一个处理的多。 有一个工厂接口LoggerFactory , 日志器工厂 有两个工厂的实现类,标准输出日志器工厂 和 阅读全文
摘要:
目的:生成器的目的是将复杂对象的创建过程(流程)进行抽象,生成器表现为接口的形式。 如果对象有复杂的继承树,理论上创建对象的生成器也同样具有复杂的继承树。 传进来一个生成器, 我调用这个生成器来生成我所需要的汽车,这就是生成器模式的核心.这个生成器Builder是个接口,把复杂对象的创建过程进行抽象 阅读全文
摘要:
支付宝小程序的开发管理里 > 服务器域名白名单添加 自己的主域名 , 所有二级域不需要都加上 js文件里直接使用网络API my.request({ url: 'https://gofly.sopans.com/visitors_online', method: 'GET', success: fu 阅读全文
摘要:
抽象工厂:在不指定具体类的情况下创建一系列相关或从属对象。最重要的特征就是抽象类的组合.通常,创建的类都实现相同的接口。抽象工厂的客户端并不关心这些对象的创建方式,只是知道它们如何组合在一起。 三个抽象类 interface WriterFactory{ public function create 阅读全文