Oop 对于基本方法的实现,是否有一种普遍接受的设计模式;“提前退出”;功能?
我有一个模式的类层次结构:模式分为简单模式和复合模式,两者都有具体的实现 模式有一个Oop 对于基本方法的实现,是否有一种普遍接受的设计模式;“提前退出”;功能?,oop,design-patterns,overriding,base-class,virtual-functions,Oop,Design Patterns,Overriding,Base Class,Virtual Functions,我有一个模式的类层次结构:模式分为简单模式和复合模式,两者都有具体的实现 模式有一个匹配方法,该方法返回一个结果,该结果可以是节点或错误 匹配时,所有模式都可以检查记忆结果。简单模式在EOF上返回一个错误 有没有一种模式可以比我的模式更简单地重用实现的功能?假设我们使用的是单一继承、单一分派语言,如C#或Java 我的方法是仅在模式级别实现Match,并在其中调用受保护的抽象方法InnerMatch。在简单模式级别,实现了InnerMatch来处理EOF和受保护的抽象调用InnerMatch,这
匹配
方法,该方法返回一个结果
,该结果可以是节点
或错误
匹配时,所有模式都可以检查记忆结果。简单模式在EOF上返回一个错误
有没有一种模式可以比我的模式更简单地重用实现的功能?假设我们使用的是单一继承、单一分派语言,如C#或Java
我的方法是仅在模式级别实现Match
,并在其中调用受保护的抽象方法InnerMatch
。在简单模式级别,实现了InnerMatch
来处理EOF和受保护的抽象调用InnerMatch
,这是具体实现定义其特定功能的地方
我发现这种方法比在Match
中添加out bool handled
参数并在每个类中显式调用基方法要好,但我不喜欢定义新方法的方式。是否有一种设计模式可以描述更好的解决方案?可能
策略模式(也称为策略模式)是一种软件设计模式,允许在运行时选择算法的行为。战略模式
- 定义了一系列算法
- 封装每个算法,并
- 使算法在该族中可互换
您必须封装您的输入值,但这没什么大不了的。不要描述您的代码。张贴它。