我们的Java应用程序有许多实现通用接口的模块。通过设计,每个模块都具有良好的封装性和可互换性。所有来电/来电都来自一小组接口。
我们需要使用此机制来添加,
是否有推荐选项?
我瞥了几眼:
答案 0 :(得分:1)
假设您非常严格地遵守一小组接口,那么您可以使用执行以下操作的包装器对象:
您还可以修改工厂方法以返回包装对象而不是底层对象,以便这些包装器的使用相当透明。
请注意,您需要非常小心参数的可变性:理想情况下,所有参数都是不可变的,但如果不是,则需要采用深拷贝(可能通过序列化)。
理论上你也可以使用记录的输入来启用播放和/或测试......但是我对此期望过于谨慎是谨慎的,因为播放需要你捕获所有相关状态(包括外部状态,如数据库事务,文件系统访问等)。一般来说,这很难实现,但您可以在特定情况下使其工作。