Advertisement

[设计模式](九):过滤器模式(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)

还没有任何评论哟~