Oop 对于不同的对象,我应该使用哪种设计模式来执行不同的方法?
类Oop 对于不同的对象,我应该使用哪种设计模式来执行不同的方法?,oop,design-patterns,Oop,Design Patterns,类a有3个boolean字段,并且有一组此类的对象。我需要对每个对象执行不同的处理,根据其3个字段的组合。我应该采取什么样的模式 public class A { boolean a, b, c; } 多谢各位 丹尼尔查找注册表模式。本质上,您定义了一个接口AHandler,并为要处理的每个组合实现它 然后,创建一个映射,并使用处理程序静态初始化它。查找此映射以找到处理每个组合的处理程序 查找注册表模式。本质上,您定义了一个接口AHandler,并为要处理的每个组合实现它 然后,创建
a
有3个boolean
字段,并且有一组此类的对象。我需要对每个对象执行不同的处理,根据其3个字段的组合。我应该采取什么样的模式
public class A {
boolean a, b, c;
}
多谢各位
丹尼尔查找
注册表
模式。本质上,您定义了一个接口AHandler
,并为要处理的每个组合实现它
然后,创建一个
映射
,并使用处理程序静态初始化它。查找此映射以找到处理每个组合的处理程序 查找注册表
模式。本质上,您定义了一个接口AHandler
,并为要处理的每个组合实现它
然后,创建一个
映射
,并使用处理程序静态初始化它。查找此映射以找到处理每个组合的处理程序 您是说一个逻辑用于a=t,b=t,c=t
,另一个逻辑用于a=t,b=t,c=f
等吗?如果您需要根据所有三种状态执行不同的操作,我会为每个不同的操作执行一个策略,并通过开关或通过factory@KroaX这就是需要通过模式实现的切换。我会使用注册表,一个从元组(bool,bool,bool)到处理程序的映射。@Misalevariable是的,就是这样。你是说一个逻辑用于a=t,b=t,c=t
,另一个逻辑用于a=t,b=t,c=f
etc?如果您需要根据所有三种状态执行不同的操作,我将为每个不同的操作执行一个策略,并通过开关或factory@KroaX这就是需要通过模式实现的切换。我会使用registry,一个从元组(bool,bool,bool)到处理程序的映射。@Misalevariable是的,就是这样。我只是简化了问题:有很多a
对象,而不仅仅是8个对象,a
的相等方法不是由这三个字段决定的,因此,我需要确定某个对象的字段组合,对其类型进行分类,然后执行一些操作;我甚至没有给出确切的方法:)基本思想是拥有一个处理程序接口和一个从某物到处理程序实例的映射。如果包含状态,则可以克隆处理程序。我只是简化了问题:有很多a
对象,而不仅仅是8个对象,a
的equal
方法不是由这三个字段决定的,因此,我需要确定某个对象的字段组合,对其类型进行分类,然后执行一些操作;我甚至没有给出确切的方法:)基本思想是拥有一个处理程序接口和一个从某物到处理程序实例的映射。如果包含状态,则可以克隆处理程序。