factory-2
2016-12-05 22:38:07 1 举报
登录查看完整内容
工厂模式实例
作者其他创作
大纲/内容
EmailSever
+ sendEmail+ reciveEmail
SinaEmailManager
+ getEmailServer+ getEmailUserInfo
EmailMannger
?php /** * 用工厂模式解决factory1.php重复使用条件语句的问题 * 工厂方法模式把创建者(EmailMannger)和要生产的产品类分离开(SinaEmailServer NeteaseEmailServer) * 将EmailManager抽象为抽象类 针对每一个服务器 创建不同的管理子类 */abstract class EmailMannger{\tpublic function getEmailServer();\tpublic function getEmailUserInfo();}class SinaEmailManager{\tpublic function getEmailServer()\t{\t\treturn new SinaEmailServer();\t}\tpublic function getEmailUserInfo()\t{\t\t// return sina user and password;\t}}class NeteaseEmailManager{\tpublic function getEmailServer()\t{\t\treturn new NeteaseEmailServer();\t}\tpublic function getEmailUserInfo()\t{\t\t// return Netease user and password;\t}}abstract class EmailSever{\tpublic function sendEmail();\tpublic function reciveEmail();}class SinaEmailServer{\tpublic function sendEmail()\t{\t\treturn 'send Sina Email';\t}\tpublic function reciveEmail()\t{\t\treturn 'recive Sina Email';\t}}class NeteaseEmailServer{\tpublic function sendEmail()\t{\t\treturn 'send Netease Email';\t}\tpublic function reciveEmail()\t{\t\treturn 'recive Netease Email';\t}}
NeteaseEmailServer
NeteaseEmailManager
SinaEmailServer
0 条评论
回复 删除
下一页