介绍 策略模式就是将特定的算法封装成类来适应特定的环境.解决了在有多种算法相似的情况下,使用 if...else... 所带来的复杂和难以维护.优缺点优点算法可以自由切换.避免使用多重条件判断.扩展性好.缺点策略类会增多.所有策略类都需要对外暴露.演示创建策略接口 Tools/Strategy.php定义接口方法<?php namespac...
介绍 适配器模式是作为两个不兼容的接口之间的桥梁,这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能.它可以将不同的API封装成统一的API,例如数据库操作有mysql,mysqli,pdo三种,使用适配器模式使其统一成一致的.优缺点优点可以让任何多个没有关联的类一起运行.提高了类的复用.增加了类的透明度.灵活性好.缺点:过多地使用适配器,会让系统非常零乱...
介绍 创建对象中,单例模式确保某个类只有一个实例,并且会自己实例化向外提供这个示例.例如在使用单例模式操作数据库的时候可以避免大量的连接数据库消耗资源,减少数据库连接. 当需要单例模式的对象直接调用getInstanc()获取之前实例化的对象,不需要重新实例化对象.当一个对象需要频繁的创建销毁,而性能又无法优化的情况下使用单例模式是非常节省资源.特...
介绍 抽象工厂声明一个创建抽象产品对象的接口,通常以接口或抽象类实现,所有的具体工厂类必须实现这个接口或继承这个类.优缺点优点 当一个产品族中的多个对象被设计成一起工作时,能保证客户端始终只使用同一个产品族中的对象.缺点 产品族扩展非常困难,要增加一个系列的某一产品,既要在抽象的工厂里加代码,又要在具体的里面加代码.演示&em...
介绍 静态工厂模式又叫做简单工厂模式,工厂模式是最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式,其核心用法就是根据不同的参数获得不同类的方法就是其设计思想.优缺点优点一个调用者想创建一个对象,只要知道其名称就可以.扩展性高,新增加一个产品,只要扩展一个工厂类就可以.屏蔽产品的具体实现,调用者只关心产品的接口.修改类名,只需修改工厂模式里的类名即可.缺点&...