首页 / 设计模式 / 设计模式之抽象工厂模式
设计模式之抽象工厂模式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了设计模式之抽象工厂模式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2182字,纯文字阅读大概需要4分钟。
内容图文
有些情况下我们需要根据不同的选择逻辑提供不同的构造工厂,而对于多个工厂而言需要一个统一的抽象工厂
class System{}
class Soft{}
class MacSystem extends System{}
class MacSoft extends Soft{}
class WinSystem extends System{}
class WinSoft extends Soft{}
/**
* AbstractFactory class[抽象工厂模式]
*/
interface AbstractFactory {
public function CreateSystem();
public function CreateSoft();
}
class MacFactory implements AbstractFactory{
public function CreateSystem()
{
// TODO: Implement CreateSystem() method.
return new MacSystem();
}
public function CreateSoft()
{
// TODO: Implement CreateSoft() method.
return new MacSoft();
}
}
有些情况下我们需要根据不同的选择逻辑提供不同的构造工厂,而对于多个工厂而言需要一个统一的抽象工厂
class System{}
class Soft{}
class MacSystem extends System{}
class MacSoft extends Soft{}
class WinSystem extends System{}
class WinSoft extends Soft{}
/**
* AbstractFactory class[抽象工厂模式]
*/
interface AbstractFactory {
public function CreateSystem();
public function CreateSoft();
}
class MacFactory implements AbstractFactory{
public function CreateSystem()
{
// TODO: Implement CreateSystem() method.
return new MacSystem();
}
public function CreateSoft()
{
// TODO: Implement CreateSoft() method.
return new MacSoft();
}
}
class WinFactory implements AbstractFactory{
public function CreateSystem()
{
// TODO: Implement CreateSystem() method.
return new WinSystem();
}
public function CreateSoft()
{
// TODO: Implement CreateSoft() method.
return new WinSoft();
}
}
//test
$MacFactory_obj = new MacFactory();
var_dump($MacFactory_obj->CreateSystem());
var_dump($MacFactory_obj->CreateSoft());
$winFactory_obj = new WinFactory();
var_dump($winFactory_obj->CreateSystem());
var_dump($winFactory_obj->CreateSoft());
class WinFactory implements AbstractFactory{
public function CreateSystem()
{
// TODO: Implement CreateSystem() method.
return new WinSystem();
}
public function CreateSoft()
{
// TODO: Implement CreateSoft() method.
return new WinSoft();
}
}
//test
$MacFactory_obj = new MacFactory();
var_dump($MacFactory_obj->CreateSystem());
var_dump($MacFactory_obj->CreateSoft());
$winFactory_obj = new WinFactory();
var_dump($winFactory_obj->CreateSystem());
var_dump($winFactory_obj->CreateSoft());
原文:https://www.cnblogs.com/caohongchang/p/11537559.html
内容总结
以上是互联网集市为您收集整理的设计模式之抽象工厂模式全部内容,希望文章能够帮你解决设计模式之抽象工厂模式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。