The Builder design pattern separates the construction of a complex object from its representation so that the same construction process can create different representations.
学习目标: 创建者模式的概念及实务
学习难度: ☆☆☆
namespace ConsoleApp1
{
class GameFactory
{
public void Develop(Programmer programmer)
{
programmer.Coding();
}
}
abstract class Programmer
{
public abstract void Coding();
public abstract Project GetProject();
}
class ClientProgrammer : Programmer
{
private Project project = new Project();
public override void Coding()
{
project.Name = "AOE3 RTS";
}
public override Project GetProject()
{
return project;
}
}
class ServerProgrammer : Programmer
{
private Project project = new Project();
public override void Coding()
{
project.Name = "Socket TCP";
}
public override Project GetProject()
{
return project;
}
}
class Project
{
public string Name { get; set; }
public void Demo()
{
Console.WriteLine($"-------Project Name is--{Name} -------");
}
}
public class MainProgram
{
public static void Main()
{
GameFactory gamefactory = new GameFactory();
Programmer clientprogrammer = new ClientProgrammer();
Programmer serverprogrammer = new ServerProgrammer();
gamefactory.Develop(clientprogrammer);
gamefactory.Develop(serverprogrammer);
Project ClientProject = clientprogrammer.GetProject();
ClientProject.Demo();
Project ServerProject = serverprogrammer.GetProject();
ServerProject.Demo();
}
}
}
参考资料:
https://www.dofactory.com/net/builder-design-pattern
免扮女装 | 游戏中超越自己 | 手速up up | 6大推荐 ...
原先的网站表现分数只有 74分 更换图片格式後网站表现分数 97分 可以看见最大内容绘制 LCP(L...
前言: 看完了Day1的介绍後,大概可以知道接下来30天会用到的语言有:html、php、css、m...
Cookies 要使用 cookies 可以使用 cookies 属性 设定 cookie 透过 s...
大家好! 今天我们要实作解析 JSON 资料,并计算资料的变异数。 我们进入今天的主题吧! 公式 母...