[设计模式](九):过滤器模式(Filter)及Kotlin中的Filter模式
发布时间
阅读量:
阅读量
过滤器模式(Filter)是一种常见的结构型设计模式,同时也是最后一种广泛使用的结构型模式。鉴于其在实际开发中的高频应用,在Kotlin语言中甚至被简化为一种Lambda表达式形式。
> 什么是过滤器模式?
所谓过滤器,其核心功能是针对特定集合中的对象进行筛选,从而提取出满足特定条件的目标对象以供后续处理。
接下来,我们通过一个实例来加以说明。
在CS类游戏中,CT方与T方玩家在武器商店中可购买的枪械种类存在差异。每当有玩家进入商店界面时,系统会自动调用一组过滤器机制,对可选武器进行筛选,并将符合该玩家身份的武器展示出来。
下面我们将具体探讨如何通过代码实现这一过程:
enum class ArmsPermission{
Both,OnlyCT,OnlyT // 枚举类,枚举类CT和T的购买权限
}
abstract class Weapon{
abstract val permission:ArmsPermission // 武器的购买权限
}
class WeaponFactory{
fun createAllWeapons():List<Weapon>{ // 一次性给出所有的武器
var allwea
全部评论 (0)
还没有任何评论哟~
