Unity3D 设计模式学习之建造者模式

本文介绍了如何在Unity3D中应用建造者模式来构建复杂对象,特别是角色组装。通过分离构建流程和对象表现,建造者模式提高了代码的可读性和维护性,减少了工厂类的扩展需求。文章详细阐述了建造者模式的角色,包括建造指示者、功能实现接口、具体功能实现者和产品,并提供了重构工厂类的示例。
摘要由CSDN通过智能技术生成
前言

建造者模式Builder在书中用来对于角色的组装,角色组装可以使用工厂模式来生存角色对象,但是如果要对
角色(双方士兵)作不同差异功能的时候就要再次分开写两个新的工厂类(我方士兵工厂类,敌方士兵工厂类),如果要对士兵类添加新的功能,则可以往工厂类添加方法。

但是这样做会让工厂管理类

这时可以用到建造者模式了
GOF对建造者模式的定义是:
将一个复杂对象的构建流程与它的对象表现分离出来,让相同的构建流程可以产生出不同的对象行为的表现

比如说,配置一辆车子时,都会按照一定的步骤来组装

准备车架-> 外观烤漆 -> 将引擎放入车架 -> 装入内装椅
此时就把组装的流程定义好了,但是具体的需求完全可以由我们来设定

建造者模式

建造者模式可以分两个步骤来实施
1、将赋值的构建流程独立出来,并将整个流程分成几个步骤,其中的每一个步骤可以是一个功能组件的设置,也可以是参数的指定,并且在一个构造方法中,将这些步骤串接起来

2、定义一个专门实现这些步骤(提供这些功能)的实现者,这些实现者知道每一部分该如何完成,并且能接受参数来决定要产出的功能,但不知道整个组装的流程是什么。

流程分析安排,功能分开实现,就能让建造者模式应用在复杂的对象构建流程上。

此时我们需要知道一些术语:
1、Director(建造指示者)
负责对象构建时的流程安排
该类有一个方法,明确定义对象组装的流程,即调用Builder接口方法的顺序

2、Builder( 功能实现接口 )
定义不同的操作方法将“功能分开来实现”
其中每一个方法都是用来提供给某复杂对象的一部分功能,或是提供设置规则

3、ConcreteBuilder( 功能实现者 )
Builder的具体实现,实现产出功能的类。
不同的功能实现者可以产出不同的功能,用来实现不同对象的行为表现功能

4、Product产品
代表最终完成的复杂对象,必须提供方法让Builder类可以将各部分功能设置给它

实现范例
public class Director{
    private Product m_product;
    public Director(){}
    //构建方法
    public void Construct(Builder theBulider) {
        m_product = new Product();
        theBulider.BuilderPart1(m_product);
        theBulider.BuilderPart2(m_product);
    }
    public void Product GetProduct(){
        return m_product;
    }
}
//建造者接口,确定实现大致功能
public abstruct class Bulider{
    public void abstruct void
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值