Jac*_*ney 5 java design-patterns
我想创建一个带有多个方法的 Java 接口。但我希望界面的用户只能按照我定义的顺序或顺序调用方法。例如buyTicket()不应该在之前被调用reserveTicket()。问:是否有设计模式或有关如何解决此问题的任何提示?
我考虑过:
一种)
operation可以在它之后调用的新方法,依此类推。ReserveTicketOperation有public BuyTicketOperation execute();BuyTicketOperation有public RenderTicketOperation execute();乙)
context使用枚举记录执行位置的状态机,并有一个工厂来获取下一个操作。非常感谢任何想法或建议。谢谢
我的第一感觉是:这就是根本不做的模式。
如果方法的内部逻辑要求它们始终按特定顺序调用;那么您将公开一个实现细节,这将使您很容易使用您的界面做错事。
含义:不要试图以某种方式强制您的“客户端代码”遵守某些特定的顺序,您应该以客户端代码不需要关心“顺序”的方式设计接口。
在您的特定示例中,问题似乎是票证对象可以“保留”或“购买”;当然,只有“购买”的门票才能退回、退款……
在这种情况下,“解决方案”可能是为“预订”门票和“购买”门票设置实际上不同的类别。那么您就不必担心有人试图退还仅“预订”的机票。
| 归档时间: |
|
| 查看次数: |
1442 次 |
| 最近记录: |