速记java设计模式(策略模式)

策略模式是一种设计模式,用于定义一组算法并封装它们,使其可以相互替换。在Java中,例如布局管理器的使用,展示了策略模式如何允许容器对象不随布局管理器的增加而修改。策略模式适用于算法切换、屏蔽算法规则的场景,但当策略数量过多时,可能需要考虑其他模式。文章还提到了策略枚举的使用及其扩展性限制,并列举了多种设计模式的分类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

策略模式(Strategy Pattern)

定义:Define a family of algorithms,encapsulate each one,and make them
interchangeable.(定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。)

角色组成:

  1. 算法使用环境(Context)角色:算法被引用到这里和一些其它的与环境有关的操作一起
    来完成任务。
  2. 抽象策略(Strategy)角色:规定了所有具体策略角色所需的接口。在 java 它通常由接口
    或者抽象类来实现。
  3. 具体策略(Concrete Strategy)角色:实现了抽象策略角色定义的接口。

举例
在 Java 语言中对策略模式的应用是很多的,我们这里举个布局管理器的例子。

在java.awt 类库中有很多种设定好了的 Container
对象的布局格式,这些格式你可以在创建软件界面的时候使用到。如果不使用策略模式,那么就没有了对布局格式扩展的可能,因为你要去修改
Container 中的方法,去让它知道你这种布局格式,这显然是不可行的。让我们来看看 java 源码中的实现吧。

先来看看 Container 中有关的代码:

LayoutManage
当使用Unity进行游戏开发时,设计模式是一种非常有用的工具,可以帮助我们组织和管理代码。下面是一些常见的Unity设计模式速记: 1. 单例模式(Singleton Pattern):确保一个类只有一个实例,并提供一个全局访问点。在Unity中,可以使用静态变量或者DontDestroyOnLoad方法来实现单例模式。 2. 工厂模式(Factory Pattern):通过一个工厂类来创建对象,而不是直接在代码中实例化。这样可以降低代码的耦合性,并且方便后续的扩展和修改。 3. 观察者模式(Observer Pattern):定义了一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。在Unity中,可以使用事件(Event)或委托(Delegate)来实现观察者模式。 4. 命令模式(Command Pattern):将一个请求封装成一个对象,从而使你可以用不同的请求对客户进行参数化。在Unity中,可以使用委托来实现命令模式,将方法封装成委托对象,并在需要的时候执行。 5. 状态模式(State Pattern):允许一个对象在其内部状态改变时改变它的行为。在Unity中,可以使用状态机(StateMachine)或者有限状态机(Finite State Machine)来实现状态模式。 6. 组合模式(Composite Pattern):将对象组合成树形结构以表示“部分-整体”的层次结构。在Unity中,可以使用GameObject的层级关系来实现组合模式。 7. 享元模式(Flyweight Pattern):通过共享对象来减少内存使用和提高性能。在Unity中,可以使用对象池(Object Pool)来实现享元模式,重复使用已经创建的对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值