【发布时间】:2011-07-03 13:01:22
【问题描述】:
对于我的类具有类似输入检查逻辑的方法(例如,一个自定义多维数组,它有很多方法,所有这些方法都检查给定坐标是否在数组限制内),我创建了一个单独的抛出运行时异常的私有检查器,以及一个公共检查器,它只返回一个布尔值,指示变量是否可用于此类方法。示例如下:
public class Foo {
public void doStuff(Variable v) {
checkVariableUnsafe(v);
... // do stuff
}
private void checkVariableUnsafe(Variable v) throws InvalidVariableException {...}
public boolean checkVariable(Variable v) {
try {
checkVariableUnsafe(v);
return true;
} catch (InvalidVariableException e) {
return false;
}
}
}
可以使用它,还是有一些我看不到的缺点?这种情况下常用的模式是什么?
【问题讨论】:
-
设计模式专门指对象级别或类范围的解决方案,并解决与对象创建、对象交互和对象通信相关的问题。它们不是功能范围解决方案。我正在重新标记您的问题。
-
你定义的来源是什么?根据维基百科,设计模式不一定与对象有关。 en.wikipedia.org/wiki/Design_pattern_(computer_science)
-
所有编程都包含模式,所有编程都应该包含设计。这个想法不是定义某些东西,而是将主题保持在普遍接受的概念范围内。 “设计模式”,一个模糊的术语,但对于它通常所指的上下文有一个非常清晰的概念。大多数人理解为“设计模式”的普遍接受的概念是基于对象和创建、结构和行为模式的基本类别。该维基百科文章中引用的所有主要来源 - Fowler、Martin、Gang of Four 等都在描述基于对象的系统。
标签: java exception variables validation