1,简单 工厂模式

1,几点总结

1,命名的规范性

2,加强对安全代码的校验   比如是int.parse

3,业务逻辑与界面逻辑的分离,降低耦合度

4,现有的代码的改动是在不影响之前的代码的基础之上的,也就是遵循 开放-封闭原则

2,UML图的理解

1,类的表示    privacy -    public +   protected  #

2,接口的顶端有<>的标识

3,继承关系用空心三角形+实线表示

4,实现接口用空心三角形+虚线表示

5,聚合表示一种弱的拥有关系,用空心的菱形+实线箭头表示

合成表示一种强的拥有关系,用实心的菱形+实线箭头表示

6,依赖关系(动物依赖于水)用虚线箭头表示

编程是一门技术,更是一门艺术,加油!


3,简单工厂模式的到代码结构图

1,简单 工厂模式_第1张图片

代码实现

```

usingSystem;

usingSystem.Collections;

usingSystem.Collections.Generic;

usingUnityEngine;

usingFactoryMode;

publicclassTempMode:MonoBehaviour

{

privatevoidStart()

{

UseFactory();

}

publicvoidUseFactory()

{

LoadAssetloadAsset =LoadFactory.CreateLoadAsset(LoadType.Resource);

loadAsset.Load("name",(www) => {});

}

}

namespaceFactoryMode

{

publicenumLoadType

{

Resource,

Local,

Remote

}

publicabstractclassLoadAsset

{

publicabstractvoidLoad(stringname,Action finished);

}

publicclassResourceLoad:LoadAsset

{

publicoverridevoidLoad(stringname,Action finished)

{

Debug.Log("ResourceLoad");

}

}

publicclassLocalLoad:LoadAsset

{

publicoverridevoidLoad(stringname,Action finished)

{

Debug.Log("LocalLoad");

}

}

publicclassRemoteLoad:LoadAsset

{

publicoverridevoidLoad(stringname,Action finished)

{

Debug.Log("RemoteLoad");

}

}

publicstaticclassLoadFactory

{

publicstaticLoadAssetCreateLoadAsset(LoadTypeloadType)

{

LoadAssetloadAsset =null;

switch(loadType)

{

caseLoadType.Resource:

loadAsset =newResourceLoad();

break;

caseLoadType.Local:

loadAsset =newLocalLoad();

break;

caseLoadType.Remote:

loadAsset =newRemoteLoad();

break;

default:

break;

}

returnloadAsset;

}

}

}

```

你可能感兴趣的:(1,简单 工厂模式)