设计模式是进阶架构师必须要了解的一个知识体系,作为初学者其实2017年考架构师的时候就已经了解过一些设计模式的概念了,可是由于缺少经验不能够很好的和代码相结合,所以利用2018年之初结合代码好好的体会一下。
个人感觉在网上看过很多资料之后,也感谢网上众多的分享者,对于设计模式的学习一定要了解清楚逻辑之后自己在脑子里想一遍,然后建立属于自己的场景试着码一遍。
下面是自己的一些体会了解做个记录(了解思想为主,可能书写不符合规范):
不属于23种设计模式的 简单工厂(Simple Factory)模式:
<?php
// 简单工厂方法 index.php客户端
header("Content-Type:text/html;charset=utf-8");
require_once "SimpleFactory.php";
$hero = "关羽";
// $hero = "张飞";
// 实例化
$ob = SimpleFactory::Display($hero); // ::调用静态方法
$ob -> Create();
<?php
/**
* Created by Sublime.
* User: Ryan
* Date: 2018/1/10
* File:SimpleFactory.php
*/
/** Hero
* 英雄接口
*/
interface Hero
{
function Create();
}
/** GuanYu
* 关羽英雄类
*/
Class GuanYu implements Hero
{
function Create()
{
echo "关羽加入战场。。。<br/>";
}
}
/** ZhangFei
* 张飞英雄类
*/
Class ZhangFei implements Hero
{
function Create()
{
echo "张飞加入战场。。。<br/>";
}
}
/** SimpleFactory
* 简单工厂类 统一创建方法 与客户端交互
*/
Class SimpleFactory{
static function Display($hero)
{
if($hero == "关羽")
{
return new GuanYu();
}
else if($hero == "张飞")
{
return new ZhangFei();
}
else
{
echo "英雄不存在";
}
}
}