【发布时间】:2013-09-26 06:04:01
【问题描述】:
我遇到了一个问题:
-如何为类中的所有方法设置前提条件,以便调用任何方法,检查这些前提条件,如果满足,则开始调用。如果不是,则抛出异常。
我需要那个做什么?我假设我的班级的任何实例都处于某种状态。如果状态不正确,我只是不想让某些方法被调用。
例如:如果我的班级是 Player 并且他的状态是 DEAD,我不希望在此状态下提高他的等级。
那个例子正是我需要的。类似于 PHP 中的操作过滤器或类似的东西。
我的意思是不要在所有方法开始时手动检查是否满足处于正确状态的条件。有没有符合我期望的解决方案?也许是一些设计模式之类的?
【问题讨论】:
-
您可以将您的对象包装在拦截所有方法调用的代理中。这是一个非常高级的主题,您可能应该找到更好的解决方案,例如在相关方法的开头进行。
标签: java android methods filter invocation