分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

抽象工厂模式 - 设计模式 - PHP版

发布时间:2023-09-06 01:20责任编辑:胡小海关键词:PHP
 1 <?php 2 /* 3 ?* 抽象工厂模式 4 ?* ?5 ?* 参考:http://blog.csdn.net/zhaoxuejie/article/details/7087689 6 ?* ?7 ?*/ 8 //抽象工厂 ??9 interface AnimalFactory {10 ????public function createCat();11 ????public function createDog();12 }13 //具体工厂 ?14 class BlackAnimalFactory implements AnimalFactory {15 ????function createCat() {16 ????????return new BlackCat();17 ????}18 ????function createDog() {19 ????????return new BlackDog();20 ????}21 }22 class WhiteAnimalFactory implements AnimalFactory {23 ????function createCat() {24 ????????return new WhiteCat();25 ????}26 ????function createDog() {27 ????????return new WhiteDog();28 ????}29 }30 //抽象产品 ?31 interface Cat {32 ????function Voice();33 }34 interface Dog {35 ????function Voice();36 }37 //具体产品 ?38 class BlackCat implements Cat {39 ????function Voice() {40 ????????echo ‘黑猫喵喵……‘;41 ????}42 }43 class WhiteCat implements Cat {44 ????function Voice() {45 ????????echo ‘白猫喵喵……‘;46 ????}47 }48 class BlackDog implements Dog {49 ????function Voice() {50 ????????echo ‘黑狗汪汪……‘;51 ????}52 }53 class WhiteDog implements Dog {54 ????function Voice() {55 ????????echo ‘白狗汪汪……‘;56 ????}57 }58 //客户端 ?59 class Client {60 ????public static function main() {61 ????????self::run(new BlackAnimalFactory());62 ????????self::run(new WhiteAnimalFactory());63 ????}64 ????public static function run(AnimalFactory $AnimalFactory) {65 ????????$cat = $AnimalFactory->createCat();66 ????????$cat->Voice();67 ????????$dog = $AnimalFactory->createDog();68 ????????$dog->Voice();69 ????}70 }71 Client::main();

抽象工厂模式 - 设计模式 - PHP版

原文地址:http://www.cnblogs.com/benben7466/p/7736507.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved