常用设计模式

设计模式分三种:创建型、结构型、行为型

1、简单工厂模式、工厂模式、抽象工厂模式

简单工厂:工厂-》产品
工厂:抽象工厂-》工厂1-》产品1
-》工厂2-》产品2
抽象工厂:抽象工厂-》工厂1-》抽象产品-》产品1/产品2

2、建造者模式

创建型模式
结构:
抽象建造者:abstract class ActorBuilder
具体建造者:HeroBuilder extends ActorBuilder、DevilBuilder
产品:Actor游戏角色类,充当产品
指挥者:ActorController 角色控制器,在这里调用具体建造者的方法。

优点:每个建造者相对独立,方便添加/替换,且调用者不必直到产品内部组成的细节,将产品本身和产品的创建过程解耦,使得相同的创建过程可以创建不同的产品对象

缺点:如果产品的内部变化复杂,可能需要定义很多具体的建造者来实现这种变化,会导致系统变得很庞大
建造者模式的产品需要有较多共同点,组成部分相似,使用范围受到限制

3、单例模式

创建型模式
确保一个类只有一个实例,供全局访问

饿汉式、懒汉式(双重检查锁,synchronized+volatile

优点:节约系统资源、
缺点:不可扩展

4、适配器模式

5、代理模式

6、责任链模式

行为型模式
结构:
Handler抽象处理者
concreteHandler 具体处理者

上家会在自己的代码里维持对下家的引用

优点:在系统中增加一个新的具体处理者无需修改原有系统的代码,只需要修改链条即可,符合开闭原则

缺点:如果建链不当,可能出现循环调用,

7、观察者模式

对象和对象之间的依赖关系,一个对象发生改变时,自动通知其他对象
也可以叫发布-订阅者模式
Event、Listener、Publisher

优点:
可以解耦,简化一对多的难度
缺点:
如果观察者很多,一个个通知可能很浪费时间,

8、策略模式

通过继承和多态,
让每个算法之间可以互相替换,
Context环境类
Strategy抽象策略类
ConcreteStrategy:具体策略类

优点:
避免多重if-else
可以灵活地增加新的策略/算法

缺点:
调用者必须直到所有的策略类,并自行决定使用哪个策略

9、模板方法模式

定义一个操作中算法的框架,将一些步骤的实现放到子类中。

优点:代码复用
反向控制,可以通过子类覆盖父类的钩子方法来决定是否执行某一步骤
更新/增加新的子类很方便

其他:桥接模式、组合模式、装饰模式、外观模式、享元模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、状态模式、访问者模式

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Unity是一款非常流行的游戏开发引擎,它提供了许多常用设计模式,以帮助开发者更好地组织和管理游戏代码。下面是Unity中常用的几种设计模式: 1. 单例模式:Unity中的许多管理类或者工具类通常只需要一个实例,使用单例模式可以确保只有一个实例被创建,并且全局可访问。 2. 观察者模式:游戏中有很多时候需要监听某些事件的发生,并根据事件触发相应的操作。观察者模式可以实现一个事件的发布和订阅机制,方便不同组件之间进行通信。 3. 工厂模式:在游戏中,有时候需要根据不同的条件来创建不同的对象。使用工厂模式可以将对象的创建从具体类中解耦出来,使得代码更加可维护和扩展。 4. 策略模式:游戏中有很多时候需要根据不同的情况来执行不同的算法或者逻辑。使用策略模式可以将不同的算法封装成不同的策略类,然后在运行时根据需要动态选择不同的策略。 5. 组件模式:Unity中的游戏对象是由不同的组件组成的,每个组件负责不同的功能。使用组件模式可以将游戏对象设计成一个组件的集合,方便开发者对游戏对象进行组装和拆解。 以上是Unity中常用的几种设计模式,它们可以帮助开发者更好地组织和管理代码,提高代码的可读性、可维护性和扩展性。实际开发中,根据具体的需求,我们可以灵活地选择和组合使用这些设计模式

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值