php 设计模式(抽象工厂)
2017-07-08 10:43
387 查看
abstract ApptEncoder { abstract function encoder(); } class BloggsApptEncoder extends ApptEncoder{ function encoder() { return 'bapp'; } } class BloggsTtdEncoder extends ApptEncoder{ function encoder(){ return 'BloggsTtdEncoder'; } } class BloggsContactEncoder extends ApptEncoder{ function encoder(){ return 'BloggsContactEncoder'; } } abstract class CommsManagers{ abstract function getHeaderText(); abstract function getApptEncoder(); abstract function getTtdEncoder(); abstract function getContactEncoder(); abstract function getFooterText(); } class BlogCommsManager extends CommsManagers{ public function getHeaderText(){ return 'Blog header'; } public function getApptEncoder(){ return new BloggsApptEncoder(); } public function getTtdEncoder(){ return new BloggsTtdEncoder(); } public function getContactEncoder(){ return new BloggsContactEncoder(); } public function getFooterText(){ return 'Blog Text'; }}
改进型
//改进
abstract class CommsManager{
const APPT = 1;
const TTD = 2;
const CONTACT = 3;
abstract function getHeaderText();
abstract function make($flag_info);
abstract function getFooter();
}
class BlogsCommsManager extends CommsManager{
function getHeaderText(){
return 'Blog header';
}
function make($flag_info){
switch($flag_info){
case self::APPT :
return new BloggsApptEncoder();
case self::TTD:
return new BloggsTtdEncoder();
case self::CONTACT:
return new BloggsContactEncoder();
}
}
function getFooter(){
return 'Blogs Footer';
}
}
相关文章推荐
- PHP设计模式——抽象工厂(研磨设计模式学习笔记)
- PHP设计模式:创建型之抽象工厂(abstract factory)
- PHP设计模式——抽象工厂
- php设计模式
- PHP设计模式之装饰者模式代码实例
- php 设计模式(组合模式一)
- PHP设计模式之单例模式
- java设计模式之工厂模式(工厂方法、抽象工厂)
- PHP设计模式之装饰器模式定义与用法简单示例
- 设计模式六大原则(PHP)
- Java设计模式之抽象工厂(02)
- PHP设计模式-观察者
- 重温设计模式(五)——我所理解的"抽象工厂"
- [php]php设计模式 Interpreter(解释器模式)
- 跟我一起学23种经典设计模式——工厂方法和抽象工厂
- PHP设计模式之单例模式实现
- 二. PHP模式设计----PHP对象工具
- php设计模式之单例、多例设计模式的应用分析
- 设计模式——工厂模式(抽象工厂)
- 设计模式- 使用抽象工厂实现多数据库切换实现过程