设计模式
文章平均质量分 71
RookieDream
有些懒惰的小码农期待自己的成长
展开
-
PHP实现策略模式
特点】 定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。策略模式可以使算法可独立于使用它的客户而变化 【策略模式的优点和缺点】 策略模式的优点: 1、策略模式提供了管理相关的算法族的办法 2、策略模式提供了可以替换继承关系的办法 将算封闭在独立的Strategy类中使得你可以独立于其Context改变它 3、使用策略模式可以避免使用多重条件转移语句。 策略模式的原创 2014-11-13 15:38:19 · 403 阅读 · 0 评论 -
PHP实现观察者模式
【特点】 观察者模式定义对象的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新! 观察者模式利用“组合”将许多观察者组合进主题中。对象(观察者——主题)之间的这种关系不是通过继承产生的,而是在运行时利用组合的方式产生的。 ——多用组合,少用继承! 【观察者模式的优点和缺点】 观察者模式的优点: 1、观察者和主题之间的耦合度较小; 2、支持广播通信;转载 2014-11-13 15:54:38 · 349 阅读 · 0 评论 -
PHP实现装饰模式
【特点】 装饰模式是以对客户透明的方式动态地给一个对象附加上更多的职责。这也就是说,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式可以在不使用创造更多子类的情况下,将对象的功能加以扩展。 【装饰模式的优缺点】 装饰模式的优点: 1、比静态继承更灵活; 2、避免在层次结构高层的类有太多的特征 装饰模式的缺点: 1、使用装饰模式会产生比使用继承关系更多的对象。并且这些对象看原创 2014-11-13 15:56:26 · 443 阅读 · 0 评论 -
PHP实现单例模式
【特点】 1.一个类仅有一个实例 2.它必须自行创建这个实例 3.Preference 对象应该可以被系统中的任何对象使用 4.Preference 对象不应该被储存在会被服务的全局变量中 【单例模式的优点】 1、对唯一实例的受控访问 2、缩小命名空间 单例模式是对全局变量的一种改进。它避免了那些存储唯一实例的全局变量污染命名空间 【单例模式适用场景】 1.数据库频繁访问原创 2014-11-13 15:42:25 · 599 阅读 · 0 评论 -
PHP实现工厂模式
特点】 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类 【工厂模式的优缺点】 工厂方法模式可以允许系统在不修改工厂角色的情况下引进新产品。 客户可能仅仅为了创建一个特定的ConcreteProduct对象,就不得不创建一个Creator子类 【工厂模式适用场景】 1、当一个类不知道它所必须创建的对象的类的时候 2转载 2014-11-13 15:45:38 · 420 阅读 · 0 评论 -
PHP抽象工厂模式
【特点】 抽象工厂模式提供一个创建一系统相关或相互依赖对象的接口,而无需指定它们具体的类 【抽象工厂模式的优缺点】 抽象工厂模式的优点: 1、分离了具体的类 2、使增加或替换产品族变得容易 3、有利于产品的一致性 抽象工厂模式的缺点: 难以支持新种类的产品。这是因为AbstractFactory接口确定了可以被创建的产品集合。支持新各类的产品就需要扩展访工厂接口,从而导致Ab转载 2014-11-13 15:48:28 · 377 阅读 · 0 评论 -
PHP实现组合模式
【特点】 将对象组合成树形结构以表示”部分-整体”的层次结构。Composite使用户对单个对象和组合对象的使用具有一致性。 【合成模式的优点和缺点】 Composite模式的优点 1、简化客户代码 2、使得更容易增加新类型的组件 Composite模式的缺点:使你的设计变得更加一般化,容易增加组件也会产生一些问题,那就是很难限制组合中的组件 【合成模式适用场景】 1、原创 2014-11-13 15:59:06 · 451 阅读 · 0 评论