php中使用接口实现工厂设计模式的代码
2012-06-17 00:00
1071 查看
接口在php只能起到约束类的定义作用,虽不像c#/java那么直观,但基于oop的封装要求,使用接口可以提高程序的可扩展性,如实现代理设计模式。
运行结果:
I'm man.
I'm Woman.
I'm Woman.
I'm man.
<?php //人类接口 interface IHuman { function GetName(); } //男人类,实现人类接口 class ManClass implements IHuman { //获取姓名方法 public function GetName() { return "I'm man."."<br>"; } } //女人类,实现人类接口 class WomanClass implements IHuman { //获取姓名方法 public function GetName() { return "I'm Woman."."<br>"; } } //类工厂,根据需要生产不同实例对象返回 class ManFactory { //根据参数获取实例对象 public function GetIHuman($IHuman="man") { if($IHuman=="woman") { return new WomanClass(); } else if($IHuman=="man") { return new ManClass(); } else { return null; } } //直接获取woman类 public function GetWoman() { return new WomanClass(); //return new ManClass(); } //直接获取man类 public function GetMan() { return new ManClass(); } } $ManFactory=new ManFactory(); $ManClass=$ManFactory->GetIHuman(); echo $ManClass->GetName(); $IHuman=$ManFactory->GetIHuman("woman"); echo $IHuman->GetName(); $Woman=$ManFactory->GetWoman(); echo $Woman->GetName(); $Man=$ManFactory->GetMan(); echo $Man->GetName(); ?>
运行结果:
I'm man.
I'm Woman.
I'm Woman.
I'm man.
相关文章推荐
- php中使用接口实现工厂设计模式的代码
- php使用接口实现工厂设计模式
- [设计模式]head first 设计模式之PHP实现 第一章 练习题代码
- 设计模式之工厂模式(PHP实现)
- 设计模式(1)-使用简单工厂优化代码
- 使用单例和工厂设计模式实现dao实现层的解耦
- php中迭代接口的使用,算不上设计模式
- 设计模式-代理模式与适配器模式实现代码重用以及策略模式的使用
- PHP简单工厂设计模式,简单代码。(缺点请指正,互相学习)
- 学习php设计模式 php实现工厂模式(factory)
- GOF23设计模式之观察者模式的理解与实现2(使用java自带的观察者类和接口)
- PHP设计模式笔记:使用PHP实现工厂模式
- C#设计模式之 :Abstract_Factory模式(使用接口实现)
- 使用C++实现设计模式(连载): 第二回 Factory 工厂模式
- 学习php设计模式 php实现工厂模式(factory)
- 慕课网----大话PHP设计模式 二(数据结构的php实现,链式操作,php魔方方法的使用)
- 设计模式-使用php实现工厂方法模式
- PHP设计模式笔记:使用PHP实现单例模式
- 设计模式:对于一种类,有可能需要在其执行前,中,后,插入一些代码,留下接口,让调用者实现
- PHP实现抽象工厂设计模式